Chapter 33 Personal Character
1.编程工作本质上是项无法监督的工作,因为没人真正清楚你在干什么。
2.老板无法强迫你成为好的程序员,很多时候他甚至无法判断你是否合格。如果你想有所成就,只能全凭自己,这涉及到你个人的性格。(素质教育的核心)
3.如何专注你的聪明才智,比你有多聪明更重要。
4.最好通过小程序找出答案,而不要用大程序。有效编程的关键之一就是要学会迅速制造错误,并且每次都能从中有所收获。犯错不是罪过,从中学不到什么才是罪过。
5.为人写代码,而非为机器。(人性化的编程思想,写代码要学会关心两种人:首先要关心用户——使用的流畅性;其次要关心维护你代码的人——代码的可读性)
Intellectual Honesty:
6.你犯的错误很难骗他人,更难愚弄计算机,所以不要浪费时间做这样的事。
7.编程生涯成熟的部分标志就是发展一种不屈不挠的诚实感。通常表示为:不是高手时不假装高手、乐于承认错误、力图理解编译器的警告而不弃之不理、透彻理解自己的程序而不要只是编译看看能否运行、提供实际的状况报告、提供现实的进度方案在上司面前坚持自己的意见。
8.技术人员大都能很好地估计项目需求和进度。但问题是他们不会坚持自己的决定,需要学习如何坚守其立场。许诺在4个月完成项目却花了6个月,肯定不会让上司高兴。妥协让他失去信用,而坚持自己的估计会赢得尊敬。(我深有体会,那次是我第一次交付程序,幸好大家齐心协力大战一夜共度难关,才力保没有失信于人,所谓吃一堑长一智)
9.建筑大师总是在材料物理性能、时间和成本的可承受范围内工作。
10.“硬干”或者“苦干”并没有带着光环。“硬干”是种徒劳的、大可不必的努力,只会说明你急切但并不是在完成工作。
11.人们容易混淆行动与进展,混淆忙碌与多产。有效编程中最重要的是思考,而人思考时通常不会看上去很忙。如果和我共事的程序员总是忙个不停,我会认为他并非优秀的程序员,因为他没有用最有价值的工具——自己的脑袋。
Habits:
12.初涉某事时,就应该端正态度来学。开始做事情时,你还会积极思考,轻松决定做得好坏。干了一段时间后,就会习以为常,“习惯的力量”开始起作用。请确保这些习惯是你所希望的东西。
Key Points:
人的个性对其编程能力有直接影响。最有关的性格为:谦虚、求知欲、诚实、创造性和纪律,以及高明的偷懒。