《代码大全》读书笔记(第一部分)

PS:引号是书中内容

0.译序

        “作者认为,应该首先为人编写代码,其次才是为机器;代码主要是供人阅读的”

        许多程序员都没有用这种意识写代码,经常借口说项目紧,先把代码写出来,功能先实现,后续再完善再调整,然而一旦写完代码,完善的事很可能就扔到一边了,往往这种代码就会坑自己和同事,写的时候奇思妙想,过一段时间再看就很可能不记得当时的想法了,代码既不好读又没有注释,你说坑不坑?

 

2.用隐喻来更充分地理解软件开发

        科学的探究过程往往会用隐喻来作为启发点,软件开发中也可以用隐喻来启发构建过程。比较合适的隐喻有:

        a)“软件的牡蛎养殖观点:系统生长”,软件迭代开发。

        b)“软件构建:建造软件”,类似建造房屋的软件开发,针对不同的房屋类型,有不同的建造设计和规划。

 

4.关键的“构建”决策

        选择一种编程语言,把它当做构建的工具;

        深入一种语言编程,而不要在一种语言上编程;

        做好编程约定,如:变量名称,类名,子函数名,格式,注释风格等;

        确定自己在技术浪潮中的位置,技术浪潮前期,中期or后期;

 

33.个人性格(人的个性对其编程能力有直接影响)

        聪明和谦虚:“高智商与优秀程序员之间并无太密切的联系”。

        求知欲:干IT的,不学习是没有竞争力的,读书、读代码、思考、与高手交流。

        诚实:实事求是,“不是高手时不假装是高手”,“乐于承认错误”。

        交流与合作:闭门造车是不行的

        创造力和纪律:总之,无规矩不成方圆,艺术家也不是随便的天马行空。

        懒惰:这里的懒惰其实是小聪明的意思,有时耍耍小聪明能提高效率,把精力从繁琐的小事上挪开。

       不如你想象中那样起作用的性格因素(坚持、经验、编程狂人

        关于坚持,我深有体会,有时遇到一个问题,花很久却始终不知道怎么解决,第二天,分分钟搞定。“通常最好只要有一段时间没有进展,比如说15分钟,就该放弃排错过程,让潜意识仔细品品”。问题有时不是出在你想的那个方面,换个思路可能会豁然开朗。

        “与其他行业相比,软件开发行业的经验比书本知识价值要小”,技术更新快,旧经验可能不适合现在

        疯狂编程除了证明你很热情,还有什么?

        习惯:好习惯从现在开始形成,而不是等到以后。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章