During the vacation I have done some reading and written an article for what I have learned.
From the article <silver bullet>I have learned the essence and accidence for the software engineering.
1.Essence:which is caused by four aspects:complexity,invisibility,conformity and changeability.
2.Accidence:which is caused by three aspects:high-level language,time-sharing and unified programming environment.
high-level language makes the program no longer get into the complexity;
time-sharing makes the response time of the system shorter.
From the article <Big ball of mud>I have learned that if you want to make your program better,you have to make sure your program is in a very good structure.Which means you can not just put a bunch of codes together,even youself have no idea about the meaning of the code.
1.In my individual project,I have a very bad idea of the whole program.I couldn't arrange all the structure well,and it turnned out to be a poor work.
2.But in my pair work project,I fund a pretty good partner,who had a pretty clear mind on the structure.And I really have learnt a lot from her.
In order to avoid the big ball of mud,Coders should be aware of the function and property of a program,focusing on the structure.Second,coders should solve the tiny little problems which show up during coding,solve the problems on time will surely help clean the piles of problems forward.Third,coders have to solve the changes of requirements from the users,our aim to make a program is to face the requirement from the users.As long as the requirement changed,coders would be fast to adjust the codes.
In the article <the Cahedral and the Bazaar>,there are two models of software coding:the cathedral and the bazaar.
1.The Cathedral:the original code is public,but every version during the process of coding is belong to different engineering team.Which means,coders may not be able to fix mistakes on time.
2.The Bazaar:the original code is public,and every version during the process are also be public,which is mistakes could be fixed on time.
In the pair work project,we tried this model.That is,one person coding,the other directing.One person is trying to control the whole code,and the other one is checking the mistakes he might make.Maybe it is a type of Bazaar,and it turns out ot decrease the mistakes.And we really benefit a lot from the project.
In the article <The rise of worse is better>,worse is not meant to be bad,it is another expression of not so good in one aspect,but better in the other aspects.Here are four aspects:
1.simplicity:maybe coders should design the interface simple,and some people think that simplicity is more important than practical utility.But in this article,coders should design the structure simple but practical utility.
2.accuracy:coding is part of a work that chanllenges people's patience and carefulness,it has to be all correct.But this time accuracy is no important than simplicity.
3.accordance:all the design must be consistent.But in this article,it shows that design don't have to be so in accordance.
4.completness:all the design should be complete,but this time,completness has to follow simplicity,accuracy and accordance.
It shows me the principle of coding,when coding,I put the four aspects above in this order:simplicity,accuracy,accordance and completness.Maybe it will help make the program better.