好代码的标准是什么

编写好的代码是程序员的基本功、手艺活。在开始探讨如何打磨这个手艺活之前,我们先来聊一下,好代码的标准到底是什么。

有的人认为简洁的代码就是好代码,有的人认为高效的算法就是好代码,有的人认为新的技术就是好代码,似乎都有道理,又似乎都不太准确。代码是人来抒写的,所以没有完全统一的标准,有一点像艺术创作,他需要创意,但是又跟艺术创作有本质的区别,因为艺术创作没有明确的用户需求,而代码是工程化的,他有明确的用户需求。

那么,好代码的标准是什么呢?我觉得有三个层面的标准,第一个层面就是能否高效、高质量的满足业务的需求,这是最基本的标准。我们做产品和服务最终还是为了给用户解决问题,解决问题本身才是最重要的,技术是为解决问题服务的。所以,怎么能高效高质量的满足业务需求就是第一重要的标准。

为什么要高效呢?因为所有的解决方案都是时间、资源和质量的平衡产物,没有人会给我们无尽的时间,可以做到尽善尽美。而且,好的产品都是不断迭代优化的,需要尽快推出市场,不断收集用户的反馈,不断打磨才可以。

什么叫高质量呢?光按时交付还不够,光我们技术架构高质量也不够,是最终的产品用户满不满意,有没有给用户提供超出预期的体验,这才算高质量。

第二层标准就是能否将系统的复杂度控制在可控的范围之内。我们知道任何一个系统的上线,并不是研发的结束,而是才刚刚开始。一个技术系统就像一个生命体,上线才意味着刚刚诞生,他还要经历漫长的、反复的迭代成长的过程。但是,这个成长过程就意味着熵增的开始,系统会变得越来越复杂,越来越难以维护和更新,越来越跟不上业务的变化。

所以,我们编写好代码的一个核心目标就是控制整个系统的复杂度。在尽力满足业务需求的前提下,还要从全局角度审视整个技术系统,做好未来的规划。这就好比城市建设,最开始的时候总是无序的,各种私搭乱建。但是,随着规模的扩大,整个城市的规划就变得越来越重要,不然就会出现各种交通的拥堵,生活的不便利等等问题。技术系统的建设也是如此,我们要提前进行规划,尽可能延续系统的生命周期,让系统可以长久的、快速的、灵活的满足业务的发展。

第三层标准就是能否驱动或者引领业务的发展。就像Window操作系统之于微软,安卓系统之于谷歌。最开始,Window操作系统只是一个技术的系统,但是,随着个人电脑时代的到来,这个技术系统在不断演变,通过开放的体系设计逐渐把上下游的服务商链接起来,包括以Intel为代表的硬件服务商,还有众多的PC软件程序提供商,针对这两者,Window系统都提供了友好的、统一的接口来对接,Windows系统从而演变成了一个技术的生态,进而催生了整个微软的商业帝国,让微软成为整个PC时代的王者。所以,好的代码是能够驱动甚至引领整个业务的发展的。

总结一下,我们总结了好的代码的三个标准,首先,好代码要高效、高质量的满足业务的需求,甚至超出用户的预期。其次,好代码要能控制系统的复杂度,做好技术系统的长久的规划。最后,好的代码会驱动业务的发展,甚至演变成技术的生态,引领商业的变革。

推荐阅读更多精彩内容

  • 每天进步一点点点点点点点点点点点点点点点点点点点点点点点点点点点点点点~~从开始只能写几句话、模仿别人的观点,到现...
    一个帅气的名字呀阅读 10,234评论 1 15
  • 一、生命周期 一个事物一旦出生,就必然会长大,变异,一旦长大,就面临着衰老,接下来就是消亡了,这个过程就称为一个事...
    ZyBlog阅读 800评论 0 8
  • 我期待了许久,久到忘记为什么期待了我等待了许久,久到忘记等待着什么了那一年春天,它开了是我喜欢的样子是我喜欢的颜色...
    不过花开阅读 58评论 0 1
  • 工作会宿紫金山庄 依山傍水境幽谧,错落小楼妙韵添。 清凉一夏寻何处?殷祈长住做神仙。 (2018.7.22晨于紫金山庄)
    润德斋主人阅读 20评论 0 0
  • 春节时,我游玩了“山里人家”生态景区文化园,不仅有了一份新体验,更是有了份难忘的回忆。 那天,我...
    赵鑫彦阅读 22评论 0 0