《代码之外的功夫——程序员的精进之路》读书笔记

最近在图书馆看到一本关于代码的书,尽管全文与具体的代码编写毫无关系,但是却以一个个小小的开发故事展现出一条给程序员们提升或进阶的路。
全文以第二人称给出了大概八个“你”(即读者)关于开发过程中很常见的的故事,每个小故事设置了“你”关于不同的工作经验、不同的编程能力、不同的需求等各种情况,讲述了如何对待软件项目以及处理项目中的问题。作者以角色对话的方式引出解决问题的方式及过程,还从一些代码实现的角度讲解了技术如何应用。虽然只有100多页的书,但是内容还是相当丰富的,称得上浓缩就是精华。
一开始看这本书的时候,只当做是闲暇时光的一点调剂,但是看过之后,发现其实内部隐藏了很多不少技术性的问题,比如对于推荐列表的小故事,从简单手动录入感兴趣的侧边栏到通过点击产生简单的推荐系统,到最后通过导入数据来进一步增加数据量级以及细化歌曲属性来优化系统,虽然只是简单的介绍,顺着故事的主线尝试编写代码实现类似的功能,然后将功能一步步优化,可以理解一些推荐系统的原理(虽然差距还很远),毕竟师傅领进门,修行靠个人。只有自己主动学习,才能掌握真正的知识。
我印象很深刻的是作者提到的一个原则——YAGNI(“You Aren't Gonna Need It.”/“你并不需要它。”)因为在很多时候,不仅是在编写代码的时候,就连在平时的生活中,我们很容易犯这样的错误——不由自主地添加附加功能。比如原本去超市只想买一提纸巾,最后却买了很多自以为能用得上但并不必须的东西,不仅是浪费钱财,还浪费了去挑选的时间和精力。
风靡亚洲的一本书《断舍离》中,“断”就是这个意思,断掉对不必要的物品的需求,我想这对我们减轻心理负担也非常有帮助。
【《代码之外的功夫——程序员的精进之路》读书笔记】小小的故事里隐藏着大大智慧,感谢作者的分享,也推荐感兴趣的人阅读。

    推荐阅读