Key Construction Decisions
在向工地进发之前,如何选择适用的工具别在你的腰带上,你的手推车里该装哪些东西呢?这让我想到了第二章里,把一个人积累的技术与方法比喻为一个人的智慧工具箱。我们应该拥有一个属于自己的“智慧工具箱”,一点一点地去填充它。
使用高级语言的程序员能比使用较低级的语言的程序员达到更好的生产率和质量。可惜自己目前较为熟练掌握的只有一门低级语言——C。要踏实一点学东西了,之前在群里看到老师的“每天50行”的建议,技术和经验都是在实践中一点点积累的,希望自己可以真正做到。可以用来表达编程思想的词语,决定你思考与表达的能力。有的时候自己想要去表达编码思路的时候,会发现无法准确而清晰地表达,这说明还没有透彻地理解编程语言里的概念与思想。
Design in Construction
软件构建中的设计侧重于在编码之前去构思与创造方案。它在不断的设计评估、讨论与写试验代码中演化和完善。项目的失败大多数都是由不尽如人意的需求、规划和管理所导致的。所以学会管理复杂度就显得极其重要。在本周的结对编程作业中,我们先把用户界面中的各种功能进行分类,从最简单的开始做起。把复杂的问题分解成简单的部分,这样可以在同一时间里专注问题的某一部分。
由于本周有考试以及结对编程的任务,书读得少了点。偶然在一个公众号读到了一篇文章,它列了编程新手入门易犯的25个错误。在这里简短记录几点比较有共鸣的。第一条就是“写代码前缺少规划”。不要总认为编程就是写代码。编程是基于逻辑的创造,慢工出细活。其次,“低估代码质量的重要性”,最基本的是要确保可读性。但在另一点中,又提到“过度注释”的问题,有一些注释是可以通过合适的变量命名省略的。另外,还有“闭门造车”,“认为不出错就是正确的”等等,的确都是我们在实践中极易犯的错误。附文章链接:http://mp.weixin.qq.com/s/YOJHRdgU1liihh6OqCA8nA