浅读《简约之美-软件设计之道》
大家好,我是Lampard~
这个周末阅读了一本程序设计相关的书籍《简约之美-软件设计之道》,它原著是《The Science of Software Development》,由余晟大大翻译。
这本书只有数十页,和它的命名一样追求简洁。虽然我只是一个资历尚浅的程序,但在阅读的过程中却也多次产生了共鸣。它令我清晰地明白了代码简约的重要性。下面是我对该书的一些浅读感受。
(一)每个写代码的人都是设计师
“ 在软件项目中,每个程序员的工作都与设计有关。首席程序员负责设计程序的总体框架;高级资深程序员负责大的模块;普通程序员则设计自己的小模块,甚至是一个文件的某一部分。”
“ 团队里每个人都有责任保证自己的代码有着良好的设计。任何软件项目里,任何写代码的人,在任何层面上都不能忽略设计。”
诚然每个人职级有高低,能力有大小,所负责的模块肯定是不一样的。但对于每一个需求,都应当要经过自己设计。并非大模块大系统设计才有意义,只要自己的设计能够使程序更加高效简洁,更容易拓展,更容易维护,甚至只是加一行注释另其他同事更易读,都是有意义的。程序不是重复枯燥的CV工作,每个程序员都是一个设计师。
(二)程序的设计有一个相同的目标,那就是帮助他人
“确保软件能提供尽可能多的帮助“
”确保软件能持续地提供帮助“
”设计程序员能容易开发和维护的软件系统“
程序的设计有一个相同的目标,那就是帮助他人。这里的”他人:既指的是用户,也指代其他程序同事。
我属于游戏开发团队,对于用户我们应该提供更愉悦的体验,更便捷明晰的操作。不要设计一些冗余的,玩家难以发现或者根本用不到的功能。
对于其他程序,首先设计的代码应该是简洁易懂,软件的任何一部分的难度正比于其设计的简洁程度。代码很高端,只有自己才懂不酷,简洁到傻子都能看懂很酷。不然后来的程序都要问自己一遍这样花费的时间成本也太大了,而且也很麻烦不是么。
(三)考虑需求成本与价值的关系
”任何一点改变,其合意程度与其价值成正比,与所付出的成本成反比“
书中给了我们一条计算代码设计的代价公式:
在需求设计之初,应该考虑该需求的成本和价值的关系。
若是一个能为项目带来重要价值的需求,则代表着该功能以后很大可能会长久维护,那么就值得多花时间去架构,把程序做到低耦合易拓展。虽然会增加当前实现的时间,但是对于长久来看,可以降低日后占大头的维护成本。
否则应该降本增效,不要花太多时间去使用晦涩难懂的高新技术,或者强行把程序设计得通用或者可复用,编写不必要的代码。当然一个需求是否有价值作为程序可能难以判定,这可能就得更多地依赖策划和PM了。
(四)结语
书中还分享了许多有趣的例子,就不在这里一一赘述了,大家可以去看看这本书,相信哪怕不是程序同学也能受益匪浅。感谢各位阅读,拜拜~