课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
代码质量检测和代码重构是程序员在学习软件运维管理的时候需要重点掌握的编程技术之一,而今天我们就通过案例分析来了解一下,代码重构需要关注那些问题。
新增的代码和已有的架构设计是否一致
做一个新的特性,不仅仅要看这个特性本身是否能够基于现有的架构里实现,还要看是否突破了原有设计的边界和破坏了原有的设计原则。破坏远比建设来得容易,架构能否适应业务的发展,也是需要持续演进,但是我们要知道演进的方向和原则,控制系统的边界。
上下文的切分是否合理
特性的粒度或大或小,上下文的切分都同等重要。切分上下文既是为了隔离变化,也是为了保留可拓展性。不合理的上下文切分,往往要在业务发生变化的时候要付出数倍的代价。有的时候,为了重新划分上下文,与其重构,不如重写。
依赖是否正交
切分上下文是从模块划分的角度分离业务,我们还是需要分层的视角来进一步隔离变化。对于复杂的业务,分层的思想很重要。一个复杂的问题,可以通过分层来分解成几个更容易解决的问题,同时问题也变得更容易理解。方案的理解成本更低,才可能写出更容易理解的代码。
语言实践
虽然现在的IDEA很强大了,但是还是会有不少实践是无法通过IDEA自动识别出来的。比如Java里面的函数式的写法,try-with-resource,单例模式等。
算法的时间或者空间复杂度
大多数不是专门研究算法的工程师,对算法复杂度的敏感度是比较低的,大多数时候会忽略算法的复杂度。
设计模式的使用
对于一些有定式的问题,使用设计模式会大幅降低理解和沟通成本。如果不使用设计模式,理论上也是可以实现的。但是设计模式的好处在于,把更多的信息用代码表达出来,而且是形式化的代码。这些信息比文字、语言还要高效。
安全问题
安全问题平时关注度不高,一旦出现,代价高昂。比如常见的安全问题有:明文密码、SQL注入、shell注入、提权漏洞等等。系统性的安全问题,可以在设计阶段识别出来。代码实现的安全问题就比较隐蔽了,需要我们带着攻击者的思维去推演、挖掘。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。