在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
程序员如何写出简洁清晰标准的代码?简洁的代码不仅能让阅读者方便理解程序的意图还能方便维护与迭代,规避冗长且臃肿的代码给人一种清爽的感觉。简洁的代码在维护上花费更少的时间,更易于被阅读和领会,花费更少的时间去弄清楚实际问题进而为修复、修改、以及扩展等操作留下更多的时间;更清晰地交流想法,程序开发离不开协作而简洁的代码可以减少项目成员之间可能产生歧义,从长远来看犯更少的错误更快地解决问题。

那么程序员该如何编写出优秀且简洁代码?接下来小编带你一起来学习~
1、描述性名称
程序中的变量、类和函数给其他程序员、以及应用程序底层逻辑之间的接口调用。因此,当对变量、类和函数使用不明确且非描述性的名称时,实际上就是在扰乱阅读代码者对应用程序逻辑的理解。使得代码看起来整洁的基本技巧之一便是使用描述性名称。
2. 具有实际意义
一定看到过那些长达数百甚至数千行的函数?在浏览、理解、甚至是编辑的时候会觉得无比痛苦。就算行间有相应的注释其实际效果往往也是“杯水车薪”。而简洁的代码会被分解成不同目的的代码块,每个子函数都被设定为完成某个具体的任务,而每个类也都代表了一个特定的概念。由此带来的简洁性更适合局部调整也更适合问题的定位与排查。
3.删除多余的代码
在修复或优化某段代码的过程中特意将其注释掉并在其下方开始动手重写新的代码。这样做的目的只是纯粹为了保留旧的代码以备不时之需。不过,随着时间的推移可能会不知不觉地积累了大量的、不再需要的被注释掉的代码块。这些代码块无疑会让的源代码变得混乱不堪。而且,多数实际情况往往是由于周围的相关代码、及其环境也早已发生了迭代,因此这些被注释掉的代码其实并不可能再被恢复使用了。
这种注释掉旧代码的做法,完全可以被如今时尚的源代码控制系统所取代。可以通过使用Git或Mercurial之类的工具,及时、准确、自动化地开展源代码管理工作。为了让应用服务轻便而敏捷,也可以有意识地通过现成的Web框架,避免“重复造轮子”,进而利用由框架提供的类库,来简化自己的代码。
4、可读性
大多程序员会把“简洁的代码”和“聪明的代码(clever code)”混为一谈,并简单地认为“把十行代码压缩成一行以减少屏幕空间的占用”,便是简洁的代码。其实在大多数时候这样的代码不一定真的容易被理解。
程序员们可以将其视为自己的独门秘籍。它们往往被用来证明自己的编程技能甚至被用作炫技之需。而对于简洁代码的编写应该保持开放的心态:代码量的多少并非代码是否简洁的唯一衡量标准。除了实现代码的功能的代码还需要保持一定的可读性。毕竟下一次阅读该代码段的很可能不是别人、正是你自己,谁都不想给自己的将来刨坑埋雷。
5、编程风格
每个程序员都有自己的编程风格,但并不推荐或强求大家去遵从某种所谓最佳编程风格。如果习惯在行间使用大括号,如果想在方法调用之前加上空格,如果更喜欢使用制表符而不是空格的话这些都可以。只不过请保持此类用法的一致性。同时,如果打算将camelCaseNaming用作变量,那么就请不要将其与underscore_naming混为一谈;如果在某个地方使用了GetThisObject(),那么就请不要在其他地方采用FetchThatObject()。
6、 架构
使用各种现成的范例和架构来创建不同的项目。当然,前提条件请选择最适合的,并不是所谓最好的。例如模型-视图-控制器模式一直是Web开发领域最流行的架构。它不但有助于保持代码架构的清晰合理而且能够使得后期的维护工作量最小。类似地实体-组件-系统模式在游戏开发界也非常流行。毕竟它能够协助实现模块化的游戏数据和逻辑,使得维护更轻松同时能够生成更加易读的代码。
7、 语言惯用法
所熟悉的Python、Java和JavaScript等不同的语言都有着不同的编程思想与习惯。它们之间的差别或是巨大或是细微。例如:Python代码会完全依赖紧凑代码和鸭子类型;而Java则更倾向于冗长和明确的代码。同时每一种语言都会鼓励使用自己的惯用法,如Python中的列表推导式。
与此同时,我们也要警惕所谓的“反面模式”。虽然那些由前人积累的、解决某些软件开发特定问题的模式,会让后辈获益无穷;但是如果它们是一些狭隘的、仅对特定需求有效的模式的话,那么就应该被避免继续沿用。
8、借鉴
俗话说“有样学样”,如果想编写出简洁的代码首先就要知道简洁的代码应该是什么样子。而一些大师级前辈的程序作品就能起到很好的示范作用,学习他们背后的编程思想、逻辑、以及代码习惯。
显然,不可能随便跑进微软总部去“偷师”他们的项目,但可以通过Github上的各种展示性项目随时浏览到典型的行业应用、以及各个开源项目的源文件代码。毕竟,这也是开源项目的一个初衷:让更多的人可以从中学习编程。通过这种社区互助的方式,的代码质量会得以迅速提高。
9、注释
“附上注释”是编程世界中的一项建议。不过在实际编程中新手程序员一旦被建议要尽可能地留下注释。当然那些不必要的描述、甚至会透露敏感信息的过度注释也可能会带来适得其反的效果。注释是被用来解释为何需要这段代码,而不是讲解代码实际能够做什么。如果的代码写得足够简洁的话,其作用是不言自明的。
10、重构
正如编辑属于文字写作过程的一部分那样重构应该是编程过程的一部分。其实重构能够起到协助优化代码的作用而不会影响其实际行为。同时,重构也有利于提高代码维护的效率。随着时间的推移和经验的积累,在回顾或维护整个软件项目时总能发现一些对于首次编写不满意、且值得重构的代码。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
当前如何选择大数据培训?
想要学习大数据参加培训是一个简单的捷径,但是由于每个人的吸收能力不同,导致很多人对此产生了疑问。有的人自学能力很强,所以可以考虑不参加培训,但是对于自主性差的人来说,参加培训就是必选的方式,那么该如何选择大数据培训呢?
6413
2020-05-11 09:33:28
自学编程入门有哪些困难?
许多人是0基础,想要自学编程入门,在学期前期就会遇到许多的困难和迷茫。例如不知道从什么语言开始,也不清楚自己的目标是什么,对于毫无基础的初学者来着,无疑是非常困难的。
5834
2020-05-28 15:55:37
用户一键登录方案有哪些?都有什么优缺点?
随着互联网的快速发展人们对于软件应用体验要求越来越高,快捷的登录方式可以让用户体验更好,因此不少企业在各个环节进行优化,尤其是登录方式。要知道一键登录能不能做取决于运营商是否开放相关服务。
7998
2021-05-26 11:02:28
如何成为人类高质量成员?喵!
近日深圳某互联网公司一名程序员为了解自家猫咪的实时动态和想法,搜集了大量猫咪日常动态视频和声音,利用周末做出了一个猫咪情绪识别app。小伙子说,视频传到网上之后,公司领导也看到了,并没有说他“不务正业”,反而很赞赏和鼓励这种小创新。你想随时感知自己猫咪的情绪吗?
5630
2021-09-08 18:18:37
整洁代码有多重要,看了这个你就懂了
今天给大家普及一个法则,我们称之为勒布朗法则——稍后等于永不,先给大家讲一个跟开发有关的故事:
5283
2021-09-16 18:42:01
