写出高质量代码的8条“军规”

简介: 写出简洁,易懂的程序是每个程序员追求的目标,怎样做到这一点,是否有规律可以遵循,我们一起来探讨

写出简洁,易懂的程序应该是每个程序员追求的目标,有人说程序不是给计算机用的吗,可以工作不就OK了吗?然而恰恰相反

程序是给写人看的

无论是什么样的语言,编译的也好,解释的也罢,最终实际执行的都是转换后的二进制代码。计算机是不需要看你写的源代码的。源代码是给你自己或者和你一样的人类程序员阅读的。程序的好坏决定着你们未来的命运。

程序维护的时间远长于创造他的时间

每个开发出来的计算机系统都被寄予厚望:尽可能长时间的存在于世。尽管他可能是某个实习生花一两个月写成的。而需求总在变化,很多时候都是在原有程序上的调整,甚至是修修补补。重写系统这件事情一直都是很危险的。从前有个著名的浏览器公司叫Netscape(网景公司),他们重写了自己浏览器的代码,后来。。。他们被另一款臭名昭著的浏览器IE6彻底打败了。所以,原始程序的质量决定后续的维护成本

那么怎样写出高质量的代码,需要注意哪些点呢,先从基本的做起

格式工整

每种语言都有自己的格式要求,每个公司也一样,现在有各种自动格式化工具,这点不难做到。

命名清晰

变量命名符合惯例,要表达清楚的含义,请谨慎使用a, b, c这种无意义的字母。这点和写文章一样,满篇小明、小红,一看就是小学生作文。

分离变化

需求总在变化,这是永恒的主题,如果我们清晰的知道哪个部分的程序可能在将来需要调整,那么把他们隔离起来。可以作为一个方法/函数,一个类,一个文件,或者数据库里的一个数据。

保持抽象

你的程序应该调用的是某一个接口,某一个协议。对于其他的程序知道的越少越好。不八卦别人的信息,可以避免程序像面条一样搅在一起。

不要重复(Don't repeat yourself/DRY)

“这个功能还不简单,拷贝一下改改不就好了”。建议你鄙视提出这个想法的朋友,拷贝一份,以后修改的工作量X2,现在的苦逼都是因为当年的偷懒。不管是代码也好,逻辑也好,都应该避免重复。

防呆设计(Don't make me think)

程序的接口应该简单而清晰,不要使用数量繁多而晦涩的参数。

保持简单(Keep it simple, stupid/KISS)

不要使用大段的复杂代码,每一段程序的职责尽量单一而明确。

按常理出牌

符合人类的思维规律,比如这是一个get读取函数,调用它一定不会出现修改、删除或者其他诡异的效果。

做好以上这些点差不多就能写出清晰而优秀的代码了,但程序是否优雅而高效还要取决于程序员的设计功力,这需要经验和积累。我们一起加油吧

目录
相关文章
|
4月前
|
设计模式 算法 程序员
代码之美:探索编程艺术与实践
在数字化时代,编程已成为一种创造性的艺术。本文将深入探讨编程的美学原则、设计模式的应用以及高效编码的实践技巧,旨在为读者揭示如何通过技术和创新思维提升代码质量,实现技术与艺术的完美结合。
|
4月前
|
算法 程序员 开发者
代码之舞:编程艺术与实践的交响
在数字化世界的舞台上,编程不仅是技术的展现,更是艺术的创作。本文将带领读者穿梭于代码的行间,探索那些隐藏在逻辑严谨性背后的创造性思维。从初学者的困惑到资深开发者的洞见,我们一同见证编程如何从一项技能升华为一种艺术形式,以及这一过程对个人成长和问题解决能力的影响。
49 4
|
4月前
|
程序员 Python
探索编程之旅:从代码到思考的蜕变
【8月更文挑战第33天】在数字世界的迷宫中,编程不仅仅是一种技能,它更是一扇打开思维新境界的大门。本篇文章将带你走进编程的世界,体验从简单代码到复杂逻辑的思考过程,以及这一旅程如何深刻影响我们的思维方式和解决问题的策略。通过具体案例和个人感悟,我们将一起探索编程背后的哲学和生活的启示。
|
4月前
|
机器学习/深度学习 人工智能 算法
编程之旅:从代码到哲学的启示
【9月更文挑战第20天】在编程的世界里,每一行代码都是思考的足迹,每一个算法都蕴含着解决问题的智慧。正如甘地所言,“你必须成为你希望在世界上看到的改变。” 本文将带你走进编程的内在世界,探索如何通过技术提升自我,实现个人成长和变革。
|
3月前
|
搜索推荐 Java 开发者
编程之旅:从代码中探索生活的哲理
【9月更文挑战第34天】在编程的世界里,每一行代码都像是生活中的一步脚印。正如甘地所说:“你必须成为你希望在世界上看到的改变。” 通过技术感悟,我们不仅学习如何编写程序,更是在探索生活的意义和方向。本文将带你走进编程的深层次思考,从简单的代码示例出发,逐步深入到生活的哲学思考,探讨如何在技术的海洋中找到自己的航向。
46 5
|
3月前
|
设计模式 人工智能 算法
编程之旅:从代码到架构的感悟
【9月更文挑战第33天】在编程的世界里,代码不仅是实现功能的工具,更是连接思想与现实的桥梁。本文将通过个人的编程经历,分享从编写第一行代码到设计系统架构的旅程,探索编程背后的哲学和技术演变。我们将一起思考,如何在代码的海洋中找到自己的航向,以及在这个过程中如何不断成长和适应变化。
编程之旅:从代码中寻找生活的启示
【9月更文挑战第19天】本文是一篇关于编程和生活哲理相结合的感悟文章。文章以通俗易懂的语言,深入浅出地探讨了编程与生活的相似性,旨在启发读者从编程的角度去思考生活,从而获得对生活的新认识。文章通过分享作者的个人经历,阐述了如何将编程中的逻辑思维、解决问题的方法应用到生活中,以及如何从编程的过程中找到生活的乐趣和意义。
|
6月前
|
测试技术 持续交付 开发工具
代码之美:技术感悟与编程实践
【7月更文挑战第26天】在数字世界的构建过程中,代码是基石也是艺术。本文将分享作者在编程实践中的心得体会,从解决问题的策略到代码质量的追求,探讨如何通过技术提升效率与美感,并反思在快速发展的技术潮流中如何保持个人的成长和适应力。
|
5月前
|
JavaScript 前端开发 测试技术
TypeScript逆袭!大型项目为何对它情有独钟?揭秘背后的真相!
【8月更文挑战第27天】随着前端领域的快速发展,JavaScript已成为Web开发的核心语言。然而,在处理大型项目时,其弱类型特性导致的维护困难和易错性等问题日益突出。为解决这些问题,TypeScript应运而生,逐渐成为大型项目的首选方案。
58 3
代码之美:从混乱到秩序的编程旅程
在编程的世界里,代码不仅仅是冷冰冰的文字和符号的组合。它们是思想的载体,是解决问题的工具,更是艺术与科学的结晶。本文将带你领略编程过程中的美学,从最初的混乱无序到最终的清晰有序,探索如何通过良好的设计原则、清晰的逻辑结构以及持续的重构来提升代码质量,从而使得代码不仅能够高效运行,还能成为令人赏心悦目的艺术品。