Re: [問題] 多讀別人的程式碼問題

作者: qrtt1 (有些事,有時候。。。)   2019-03-25 20:19:35
※ 引述《hjtiun852 (楓嵐)》之銘言:
: 想請問大大們,
: 目前學Java 快讀完基礎入門書,
: 學校老師說要多讀好的程式嗎,
: 我想了很久,所謂好的程式碼,
: 要去哪找= =
: 小弟程度不夠,直接去gitHub逛
: 真的還是很多不懂
: 還是要去寫寫LeetCode題目
目標太不明確,而且也太糊,不容易有好的結果。
死命地練習寫 code 但不知道如何寫得好,不會有進步。
盲目地尋找好的程式碼,即使找到了可能只是排版舒適
coding style 優良的情況。
其實該去培養一下審美觀!
一個是結構上的優美,一個是設計上的優美。
(也可能二者兼備)
例如,先品嚐一下這段話
Bad programmers worry about the code.
Good programmers worry about data structures and their relationships.
by Linus Torvalds
(寫程式的硬道理,資料結構配上好的演算法。
這就看個人多努力了,沒太多好爭論的部分)
那『品味』『鑑賞能力』的部分怎麼辦呢?
往好的方向前進的方法很多,如果有人 pair programming 會比較快
若沒有,至少能看書。
建議,先由比較『具體』有『形式』,可以識別或仿作的開始:
《重構─改善既有程式的設計》
https://www.tenlong.com.tw/products/9789861547534?list_name=rd
(絕版了,但網路上有原作者放出的 1 ~ 6 章 PDF)
(重構的書很多,你可以去實體書店逛逛,找到喜歡、契合你閱讀感的再買)
重點在看得出 Bad smells,並知道如何除臭。
《深入淺出設計模式》
https://www.tenlong.com.tw/products/9789867794529?list_name=rd
設計模式是蒐集過去程式設計師的『經驗』寫成的食譜 (或藥方)
因為它也有明確具體的形式,也有原則可以學習,對新手比較有實感。
但那個『意圖』的部分,可能得花點時間去辨別,你所面對的情境,
應用 OOO 模式,是否合情合理,反正,有問題你再 PO 文問大家唄
接著,是需要比較有點經歷後,才漸漸好體會的。
它們是真正在培養品味等級的,可能較抽象一些了
《無瑕的程式碼》系列
https://www.tenlong.com.tw/products/9487000721684?list_name=srh
《無瑕的程式碼-整潔的軟體設計與架構篇》
https://www.tenlong.com.tw/products/9789864342945?list_name=e-106
=================================================================
另外,如果能排點時間,開始習慣 TDD 或 BDD 會好些
(至少認識一下它們,知道怎麼樣透過這樣的開方技巧維持品質)
《單元測試的藝術》
https://www.tenlong.com.tw/products/9789864342471?list_name=srh
《Growing Object-Oriented Software, Guided by Tests》
https://www.tenlong.com.tw/products/9780321503626
作者: oceanblue21 (家樂氏)   2019-04-03 09:56:00
最近也有同樣的問題 謝謝分享
作者: dream1124 (全新開始)   2019-04-13 09:45:00
推,練習的目標要明確

Links booklink

Contact Us: admin [ a t ] ucptt.com