《代碼大全》讀書筆記(第一部分)

PS:引號是書中內容

0.譯序

        “作者認爲,應該首先爲人編寫代碼,其次纔是爲機器;代碼主要是供人閱讀的”

        許多程序員都沒有用這種意識寫代碼,經常藉口說項目緊,先把代碼寫出來,功能先實現,後續再完善再調整,然而一旦寫完代碼,完善的事很可能就扔到一邊了,往往這種代碼就會坑自己和同事,寫的時候奇思妙想,過一段時間再看就很可能不記得當時的想法了,代碼既不好讀又沒有註釋,你說坑不坑?

 

2.用隱喻來更充分地理解軟件開發

        科學的探究過程往往會用隱喻來作爲啓發點,軟件開發中也可以用隱喻來啓發構建過程。比較合適的隱喻有:

        a)“軟件的牡蠣養殖觀點:系統生長”,軟件迭代開發。

        b)“軟件構建:建造軟件”,類似建造房屋的軟件開發,針對不同的房屋類型,有不同的建造設計和規劃。

 

4.關鍵的“構建”決策

        選擇一種編程語言,把它當做構建的工具;

        深入一種語言編程,而不要在一種語言上編程;

        做好編程約定,如:變量名稱,類名,子函數名,格式,註釋風格等;

        確定自己在技術浪潮中的位置,技術浪潮前期,中期or後期;

 

33.個人性格(人的個性對其編程能力有直接影響)

        聰明和謙虛:“高智商與優秀程序員之間並無太密切的聯繫”。

        求知慾:幹IT的,不學習是沒有競爭力的,讀書、讀代碼、思考、與高手交流。

        誠實:實事求是,“不是高手時不假裝是高手”,“樂於承認錯誤”。

        交流與合作:閉門造車是不行的

        創造力和紀律:總之,無規矩不成方圓,藝術家也不是隨便的天馬行空。

        懶惰:這裏的懶惰其實是小聰明的意思,有時耍耍小聰明能提高效率,把精力從繁瑣的小事上挪開。

       不如你想象中那樣起作用的性格因素(堅持、經驗、編程狂人

        關於堅持,我深有體會,有時遇到一個問題,花很久卻始終不知道怎麼解決,第二天,分分鐘搞定。“通常最好只要有一段時間沒有進展,比如說15分鐘,就該放棄排錯過程,讓潛意識仔細品品”。問題有時不是出在你想的那個方面,換個思路可能會豁然開朗。

        “與其他行業相比,軟件開發行業的經驗比書本知識價值要小”,技術更新快,舊經驗可能不適合現在

        瘋狂編程除了證明你很熱情,還有什麼?

        習慣:好習慣從現在開始形成,而不是等到以後。

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