代码大全读书笔记(一)个人性格

                             代码大全 个人性格

      《代码大全》在那什么stackoverflow上,被评为程序员要读书目中的第一名,还拿了两次那个震撼大奖。厉害、实用都到了,就是不太看得懂。抓狂

       准确来说,字面意思看得懂,像第三部分 变量也是很容易看明白的部分,不过,就像豆瓣有位读者评价这是软件开发的“地图”,很多内容都是介绍性的,它告诉你,有什么类型工具(一般不具体说出是哪些)可以在哪些地方使用,有什么类型的技术在哪儿有帮助,还有一些规范、一些鼓励。

       这虽然不是从学生到职工的路线性指导,其实已经很好了,给了百科、地图式的介绍。在知道遇到的问题和解决的技术、工具后,可以自行去学习,解决遇到的问题。

       可我一个小小的学生,看软件开发的部分就像看天书尴尬。只能挑掉看得懂的地方来做笔记了。

       “事实证明,个人性格对于造就出程序高手更具有决定性意义。”——820页,第二版中文译版微笑

       要充分理解一个程序,要有很强的吸取细节的同时消化它们,越是谦虚,进步就越快。


       求知欲:

       对技术事物的求知欲具有压倒一切的重要性,书中介绍,技术环境每5到10年就变化一番,如果没有足够的求知欲来跟上这些变化,就可能面临落伍的危险。惊恐

       所以,要有足够的求知欲,要考虑怎样改进自己的工作,不停地学习新的技术。最近的我,好像则是陷入自己给自己挖的一个坑中,里面是填不完的内容,可以说是作茧自缚。可怜

       书中介绍了一些培养求知欲的特定方法:

       1、在开发过程中建立自我意识    通过阅读和对软件构台观察,来理解变化、了解软件开发过程,使团队朝着正确方向发展。如果觉得自己的工作净是不能提高自己技术的任务,理应表示不满。

       2、试验   有效编程的关键之一就是要学会迅速制造错误,并每次都从中有所收获。当然,制造错误肯定不能用大程序、正在开发的项目来当平台,编写个小程序来学习并检验。

       3、阅读解决问题的有关方法  大概就是不要再发明车轮,人们并不总能自行找出解决问题的巧妙方法,即使方法很容易传授。所以,书中推荐了本James Adams的 《Conceptual Blockbusting》。

       4、在行动之前做分析和计划  这个自己比较缺乏

       5、学习成功项目的开发经验  研究高手的程序,阅读源代码,貌似主要是读开源程序的代码哦。还应多了解专家对你的代码的看法。滤除语言中主观成分,注重解决切中要害的问题,从而改善编程质量。

       对我来说,老早就说想阅读开源项目的源代码了,结果一直没有开始。后面的请专家评论自己的代码就没有试过了。

       6、阅读文档和其他书本期刊   学生嘛,教材什么的看得多了,文档倒是看得很少……

       7、同专业人士交往    参加交流会、加入用户群或参与网上讨论。我上豆瓣,找QQ群,就是那些什么本地用户小组和邮件列表不太明白,也就不敢尝试,因为担心自己加入后,什么事都不干。最起码,我注册的很多博客、微博、邮箱、OJ都没使用。

       8、向专业开发看齐   

          入门级: 会利用某语言的基本功能,会使用许多的特性

          中级 :能利用多种语言的基本功能并得心应手地使用至少一种语言,不过,除了多会几门外,这里的得心应手和入门级的有多少差别?

          熟练级:对语言或环境有着专业技术,

          专家级:具有第三级的专业技术,并明白编程中只有15%是与计算机交互,其余是与人打交道。他们写的代码,像水晶一样晶莹剔透,还配有文档。

       这部分在《程序员的思维修炼》一书中,有更好的介绍,里面的德XXX模型,可以应用在各种领域。


       诚实

       通常表现为以下几个方面:

       不是高手时,不假装是高手。最好是凌自己啥都不懂,呱呱别人的看法,从他们那里可能学到新的知识,并能了解他们是否真的清楚所讨论的话题。

       乐于承认错误。

       力图理解编译器的警告。这个经常忽略,因为有些消息看不懂,或者觉得警告对程序不影响。

       透彻理解自己的程序。我就是经常“先编译看看能否运行再说”的做法,看来要改啊!

       提供实际的状况报告。缺乏对进度的掌握,那就通过对工作的了解来解决。

       提供现实的进度方案,在上司面前坚持自己的意见。


       交流与合作

       各方面的不足,这个是其中很严重的一个,因为,真的缺少团队合作经验,少有的几次,自己也没有反思下合作的效果如何。


       创造力和纪律

       纪律与实际的项目息息相关,因为一般的项目都在万行代码的级别,而没有这种经验的学生在学校中,写过的最长的程序也就论百行,所以,“这类工作需要的技能不仅是规模大些而已,而是一套全新的技巧”。

       “不要将创造力花到无关紧要的事物上,在非关键之处建立规范,从而在重要地方倾力发挥创造性。”

       所以说本书是地图,最起码,在这部分上,我只知道了规范、纪律两个词,连它们是什么样的都不知道。


       懒惰

       这个可能很多人都听说过了,就是要正确地懒,迅速做完不喜欢的任务,最好的是编写某个工具来完成不喜欢的任务,以后就再也不用做这类的琐事。

       有效编程中最重要的工作是思考,而人思考时,通常看上去很闲,很难区别是思考呢?发呆呢?做梦呢……大笑


       习惯

       初涉某事时,就应端正态度来学。开始做事情时,还会积极思考,轻松决定做得好坏,一段时间后,就会习以为常,这里就要确保这些习惯是你所希望的好东西。

       否则要用好的习惯来代替旧的习惯,而不是用“空习惯”来代替。

       自己对这个习惯的略有感触,在学过C语言后,因为发现自己学过过于肤浅、表面,于是想端起《C程序设计语言》或《C语言程序设计——现代方法》等书来看,强化,结果,没一次成功啃下来的。咦?好像和习惯有点区别……尴尬

       不只是C语言,别的语言、数据结构、算法,几乎一切都陷入这个死循环,浅浅地入门后,觉得学得不咋地,于是又想去看书加强下,捧起书来,又觉得多数都学过了,又没有耐心学完,放弃之后,又内疚、不安……

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值