谈谈代码质量问题

我们编写代码, 假如代码有语法错误,那么编译器将会拒绝通过编译, 假如代码语法正确, 那么编译器会通过编译, 因此, 判断代码是否编写正确, 可以拿代码是否能通过编译器编译作为衡量的标准。 我们编写的网站,也可以用访问的承受量来判断性能的好坏, 类似于每秒能承受一千次, 还是一万次, 或者是十万次, 都可以作为网站的性能指标。 另外,比如说一个算法的最坏时间复杂度, 是常数的, 还是线性的, 或是对数的, 都是算法性能好坏的衡量指标。 然而,代码写的是好是坏的定义,虽然不是凭喜好完全主观判断的结果,但也没有一个量化的衡量标准。你吐槽别人程序性能有问题或者代码逻辑有漏洞会出错都没什么问题。 但是, 如果去吐槽别人代码写的不好, 质量不行, 估计十有八九会遭到对方反唇相讥, 你凭什么说不好? 谁定的标准?这个就有点像厨师做菜, 只要这个厨师的水平不那么差, 那做出来的菜肯定有人夸赞, 但是也会有口味比较刁的顾客不喜欢,毕竟一样米养百样人, 每个人的口味都是不同的。 然而,对于厨师自己来说,他肯定也有一套进阶指导方针, 如何超越从前, 做出更美味的佳肴来符合更多人的味口。其实代码质量的好差和菜做的是否好吃从某种角度来说有些相似, 评价它们好坏与否肯定会带上一些主观色彩, 但是也有衡量的指标, 只是这种指标比较模糊, 比较难以琢磨罢了。

此外, 对于不明真相的领导来说, 代码质量好差是最无关紧要的事情了。 如果是网站访问速度慢, 影响到用户正常使用,明显是不能忍的,大棒子砸下来,程序员只能加班加点去优化。但是如果是代码质量有问题呢! 优化? 开什么玩笑, 大家都这么忙,需求都做不完, 哪有闲工夫去整这种没有成果产出的事情, 再说了, 现在代码跑的好好的,要是优化出事情锅谁来背?所以说,从技术实现本身以外的角度来看, 代码写的好坏与否的确是最无关紧要的事。

然而,在程序员的眼里, 代码质量又显得无比重要了, 烂代码总是让人深痛欲绝。 我们生活中有很多一交性的设备, 一次性筷子, 一次性杯子, 一次性套子, 但是却没有写完用过就扔的一次性代码, 写出来的代码需要长时间维护那是常态, 对于程序员来说维护旧代码所花的时候可能要多于生产新代码的时间, 因此, 代码质量对于程序员来说是无比重要的, 直接影响工作效率的因素。 但是正因为代码质量的界定是比较模糊和难以琢磨的, 所以掌握到其中的要决也是比较困难的, 怎么入门?如何精通?从来没有标准化的学习方案可以参照, 不同的人有不同的做法。 而且,关于代码质量的书籍,市面上数之不尽, 哪本好?哪本差?先看哪一本?再看哪一本? 都是没有确定性答案的。 学校里有教C++的, 有教Java的, 有教算法的, 有教数据库, 但是从来就没有教如何写的一手好代码的,为什么? 因为根本没有一套标准的方案可供参考使用。

想知道我最终想表达什么标新立异的观点吗? 哈哈,其实我什么观点也没有, 只是让你们看了一堆废话。 不过接下来,我想在这个公众号只写提高代码质量的文章, 并且把这个公众号的名字给改了, 改成「教你撸一手好代码」这个名字怎么样?不知道会不会太长了。

最后, 感谢你能耐心看到结尾,如果能顺便点下赞, 留个言, 或者分享到朋友圈, 那再下真的感激不尽。另外,如果你是单身女程序缓,那么可以留下你的微信号,有机会本人必当倾囊相授手把手教写代码。

原文发布于微信公众号 - 带你撸出一手好代码(gh_afab56b37671)

原文发表时间:2017-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯数据中心

Google对数据中心成本模型的分析——下

(接上文《Google对数据中心成本模型的分析——上》) 三、案例分析 虽然变量繁多,但通过观察不同行业的小部分数据中心案例,仍有助于我们理解这些成本因素的影响...

6538
来自专栏北京马哥教育

Python风靡全宇宙,首要原因是它?

就让我们从近年来大数据的兴起说起,为你娓娓道来Python火爆的真正原因。 众所周知,Python是目前使用最广泛且用户增长最快的编程语言。优雅简洁的语法、强...

2727
来自专栏牛客网

奉献一波腾讯的面经!

6010
来自专栏Albert陈凯

2018-05-29 阿里巴巴 Java 开发手册 中英对照版,学学英语序言Preface

1542
来自专栏SDNLAB

SDN实战团分享(十九):OpenDaylight在电信网络中的应用

大家好!首先自我介绍一下:我来自中国电信广州研究院,我和我的SDN小组是一支来自电信运营商的研发团队,主要从事一些预研性的研究和开发工作。大家可能是从最近的一本...

3498
来自专栏编程

一步一步提高C+编程的方法和步骤!

门外汉:如果你还是刚刚接触c++,那么你应该先去买一本《C++编程思想》,这本书讲解非常详细,而且通俗易懂,当你将这些代码敲完之后,升级为菜鸟级别了 ? 菜鸟级...

2119
来自专栏程序人生

如和在几十个 Repo 中游刃有余?

Sindre Sorhus 是我一直 follow 并且仰慕的程序员。他的 github 日常是这个样子的:

1082
来自专栏JAVA烂猪皮

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然...

1242
来自专栏架构师小秘圈

程序员如何解决时间利用率不高这个大bug?

一直感觉自己时间不够用,因此学习过 GTD 和番茄时间管理法等,每种管理法都有自己的优缺点,也有自己不习惯的部分。经过一长段时间(接近两年)的实践与改良、结合番...

3758
来自专栏哲学驱动设计

《Framework Design Guidelines 2nd Edition》推荐

前言     最近看了《FDG 2nd Edition》,也适当做了些笔记,在这里写这篇文章的目的主要有两个,一是对自己学习的一个记录、积累;另外,还可以用这...

19110

扫码关注云+社区