《简约之美 软件设计之道》读后感
读完这本书,学到了很多东西。
先来摘抄几句书中的句子、
“ 在软件项目中,每个程序员的工作都与设计有关。首席程序员负责设计程序的总体框架;高级资深程序员负责大的模块;普通程序员则设计自己的小模块,甚至是一个文件的某一部分。”
“ 团队里每个人都有责任保证自己的代码有着良好的设计。任何软件项目里,任何写代码的人,在任何层面上都不能忽略设计。”
“确保软件能提供尽可能多的帮助“
”确保软件能持续地提供帮助“
”设计程序员能容易开发和维护的软件系统“
“确保软件能提供尽可能多的帮助“
”确保软件能持续地提供帮助“
”设计程序员能容易开发和维护的软件系统“···
这些句子告诉我们:
诚然每个人职级有高低,能力有大小,所负责的模块肯定是不一样的。但对于每一个需求,都应当要经过自己设计。并非大模块大系统设计才有意义,只要自己的设计能够使程序更加高效简洁,更容易拓展,更容易维护,甚至只是加一行注释另其他同事更易读,都是有意义的。程序不是重复枯燥的CV工作,每个程序员都是一个设计师。
程序的设计有一个相同的目标,那就是帮助他人。这里的”他人:既指的是用户,也指代其他程序同事。我属于游戏开发团队,对于用户我们应该提供更愉悦的体验,更便捷明晰的操作。不要设计一些冗余的,玩家难以发现或者根本用不到的功能。对于其他程序,首先设计的代码应该是简洁易懂,软件的任何一部分的难度正比于其设计的简洁程度。代码很高端,只有自己才懂不酷,简洁到傻子都能看懂很酷。不然后来的程序都要问自己一遍这样花费的时间成本也太大了,而且也很麻烦不是么。
在需求设计之初,应该考虑该需求的成本和价值的关系。若是一个能为项目带来重要价值的需求,则代表着该功能以后很大可能会长久维护,那么就值得多花时间去架构,把程序做到低耦合易拓展。虽然会增加当前实现的时间,但是对于长久来看,可以降低日后占大头的维护成本。否则应该降本增效,不要花太多时间去使用晦涩难懂的高新技术,或者强行把程序设计得通用或者可复用,编写不必要的代码。当然一个需求是否有价值作为程序可能难以判定,这可能就得更多地依赖策划和PM了。
总之,读完这本书受益匪浅。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署