不知道有多少人以前在写代码的注意过“代码复杂度”的问题?!我问了很多人,得到的答案是“好像在学校的算法课上提到过”,仅此而已。
现在很多程序的可扩展性都不是太好,不知道大家有没有想过,这点是不是和复杂度有本质的关系?如果真的有,那么控制代码的复杂度是不是很重要?
以前,我曾经听到过这样的话“某某写的代码太抽象,很难看懂。”显然,初看起来是非常的乱,但是你知道它的可扩展性是相当的强吗?只能说“他写的代码让你很迷惑,很费神,因为你显然不了解它的模式”。
据科学的观点,人类能记住的数字大概是在7位左右。这就很好解释了为什么你能很容易的记住座机号码但是很难记住手机号码的原因。那么在这个追求客户体验的年代,写代码是不是也要追求或者尽量满足这个规律呢?记得以前我看不懂或者说很反感看spring.net的代码,原因之一就是方法太多,但方法体很短,一般3-5句就结束了,导致了上面我听到的那句话“太抽象”了,我相信就算是现在,很多人也都是有这种感觉的。慢慢的发现,原来真的是我不明白“它的模式”!其实spring.net的复杂度是很低,大家可以用软件测测,复杂度低了,可扩展性就强了,这就是为什么要降低复杂度,增加可扩展性的原因。
我突然想起了CMMI中的度量,原来的公司把代码的质量也度量了,其中有一个标准就是复杂度,通过一款软件测试代码的复杂度,特别是核心类,核心方法的复杂度,这样能降低软件的风险,增加软件的可扩展性。
现在,我正在努力的去追求spring.net创始团队追求的复杂度降低哲学“把业务代码写在5行之内”。你是不是也该想想改变一下自己原有的写代码方式呢?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述