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