Chapter 33 Personal Character
1.編程工作本質上是項無法監督的工作,因為沒人真正清楚你在干什么。
2.老板無法強迫你成為好的程序員,很多時候他甚至無法判斷你是否合格。如果你想有所成就,只能全憑自己,這涉及到你個人的性格。(素質教育的核心)
3.如何專注你的聰明才智,比你有多聰明更重要。
4.最好通過小程序找出答案,而不要用大程序。有效編程的關鍵之一就是要學會迅速制造錯誤,并且每次都能從中有所收獲。犯錯不是罪過,從中學不到什么才是罪過。
5.為人寫代碼,而非為機器。(人性化的編程思想,寫代碼要學會關心兩種人:首先要關心用戶——使用的流暢性;其次要關心維護你代碼的人——代碼的可讀性)
Intellectual Honesty:
6.你犯的錯誤很難騙他人,更難愚弄計算機,所以不要浪費時間做這樣的事。
7.編程生涯成熟的部分標志就是發展一種不屈不撓的誠實感。通常表示為:不是高手時不假裝高手、樂于承認錯誤、力圖理解編譯器的警告而不棄之不理、透徹理解自己的程序而不要只是編譯看看能否運行、提供實際的狀況報告、提供現實的進度方案在上司面前堅持自己的意見。
8.技術人員大都能很好地估計項目需求和進度。但問題是他們不會堅持自己的決定,需要學習如何堅守其立場。許諾在4個月完成項目卻花了6個月,肯定不會讓上司高興。妥協讓他失去信用,而堅持自己的估計會贏得尊敬。(我深有體會,那次是我第一次交付程序,幸好大家齊心協力大戰一夜共度難關,才力保沒有失信于人,所謂吃一塹長一智)
9.建筑大師總是在材料物理性能、時間和成本的可承受范圍內工作。
10.“硬干”或者“苦干”并沒有帶著光環。“硬干”是種徒勞的、大可不必的努力,只會說明你急切但并不是在完成工作。
11.人們容易混淆行動與進展,混淆忙碌與多產。有效編程中最重要的是思考,而人思考時通常不會看上去很忙。如果和我共事的程序員總是忙個不停,我會認為他并非優秀的程序員,因為他沒有用最有價值的工具——自己的腦袋。
Habits:
12.初涉某事時,就應該端正態度來學。開始做事情時,你還會積極思考,輕松決定做得好壞。干了一段時間后,就會習以為常,“習慣的力量”開始起作用。請確保這些習慣是你所希望的東西。
Key Points:
人的個性對其編程能力有直接影響。最有關的性格為:謙虛、求知欲、誠實、創造性和紀律,以及高明的偷懶。