阅读本文大概须要 4.2 分钟。程序员
做者:Nitin Sharma编程
译者:罗昭成数据结构
出品:CSDN(ID:CSDNnews)app
【笔者按】编程江湖中一直盛传着一个段子,那就是要问程序员最讨厌哪 4 件事?那必须是:框架
写注释、写文档、别人不写注释、别人不写文档。编程语言
更甚者,在《流浪地球》造成刷屏之势以后,仿其而出的“代码千万行,注释第一行;编程不规范,同事两行泪”在技术圈中开始盛传,因而可知对于全部的程序员来讲这是多么痛苦的事情。函数式编程
如下为译文:函数
还有什么事情比本身动手去创造更有趣?看着你发明的东西慢慢地进入生活?咱们人类,是万物之主,是造物主。工具
可是在数字化时代,发明创造的方式发生了变化。如今,咱们都创造数字化产品。咱们建网站、写软件来知足咱们的需求。虽然咱们创造再也不依赖于咱们的创造力,可是咱们仍然能够与艺术家其名。学习
编程的世界很是地宽广,涉及重多领域,咱们有不少选择。你能够选择使用函数式编程,仍是使用面向对象编程?你能够选择作服务端仍是客户端?那么,你心中已经有抉择了吗?下面,有 100 种编程语言,能够用来实现你的需求。
语言、框架、库都在逐渐增多。你能够经过多种方式完成相同的代码功能。虽然这些语言可能差异很大,可是大多数语言都遵循相同的思想。因此,他们也会出现相同的问题。
如下是编程七宗罪,你能够想办法避免他们发生。虽然我不是基督教徒,可是我也喜欢定义七宗罪。
上帝保佑,咱们有版本控制工具。如我所说,若是咱们没有像 Git 这种版本管理工具,代码的世界将变得异常艰难。版本控制让咱们在协做的时候,修改或移动变得很是简单。
想像一下,咱们坐在电脑前,手动检查并合并文件,为不一样的版本保存不一样的文件夹。这样作是很是低效的,而且很不可靠。幸运的是,咱们有 Git 和其它版本控制工具,来帮咱们完成这个事情。
我参与过没有版本控制的项目,那简直就是一场恶梦。
我不知道为何,身边总有一些人,使用很短/随机的名称来给变量命名。当你的项目只有 10-20 行代码,或者只是代码片断时,你可使用这种方式进行命名,可是在大项目中,不要这么作。不合适的命名,对可读性和效率有致命的影响。
一个命名的简单规则:你变量的名称能够自解释。当你看到它们的时候,就知道他们的用途。可是不要使用太长的名字来命名!保持命名简短,并具备可读性。
让咱们来找一找,你的代码中用 a , b, c 命名的代码。
GitHub 上面有多少个开源项目? 已经多到咱们数不清了。这些开源库使开发者的工做变得更加容易,节约咱们的时间。
可是使用过多的依赖库会对整个项目带来风险。依赖库越多,就意味着编译时间和运行时间的加长。咱们应该在咱们须要的地方添加对应的依赖库,而不要为了使用它而使用它。
因此,在升级以前,咱们须要常常去检查依赖库/插件的支持状况。我曾经有一次,升级了 React,而没有去检查它对其它库的影响。到现在,我依然认为这是我生命中最严重的错误之一。
值得一提的是,没有人想阅读整个方法/文件来理解它是干什么用的。使用最少的代码来实现功能,可是不要让别人或者是之后的本身,讨厌你本身写的东西。
咱们应该一直尝试去写自解释的代码。咱们应该让咱们的代码,在第一次被看到的时候,就知道它是干什么用的。要完成这样的代码,咱们须要进行正确的代码重构,统一的语法,适当的变量名称。必要的时候,还要给代码添加注释。
固然,也不要过多地书写注释,你不须要经过注释解释每一行代码。最好用 1-2 行注释,写清楚重要部分的概述或说明。
这个和第四点很是相近,格式不一致也会对可读性和生产效率带来巨大的影响。在项目中,选择一个特定的命名规范并一直坚持下去,不要在中途改变它们。
我我的更喜欢用大写字母来命名文件,驼峰命名法来命名方法、变量等。但这些也会根据不一样的语言而做出改变。
没有比开发者格式化代码更糟糕的事情。
此外,在代码中,咱们还须要使用相同的缩进格式。根据你的代码样式和选择的语言,使用 2/4/8 个空格来作缩进。但不管你使用什么样的格式,项目中一直使用。
畏惧它。逃避它。Bug 终会降临! —— 灭霸
(译者注:指 Bug 如影随形,不休不止,像诅咒同样。)
事情是这样的,不管你是多么优秀的程序员,你的代码都有可能会出现问题,除非你写的是像以下的这种代码:
这些错误有多是由于 API 错误引发的,也有多是超时,类型错误,空值,或者只有上帝知道的缘由。一般,这些会让你的代码出现问题。
在不一样的语言中,处理错误的方式有很大的差别。可是通常状况下,在访问数据以前都须要判断数据否为空。在个人经验中,空指针比其它错误都多。
因此,在执行数据处理的相关需求时,建议将代码放到 try-catch 中,并处理对应的异常,最后,不要忘记告诉用户哪里出现了问题。若是在用户按下按钮和按键的时候不给用户反馈,用户将不知道发生了什么。给用户错误提示,并告诉它下一步怎么作。
时刻记住灭霸的话。
在不一样的语言中,数据类型要求不同,强类型语言很是严格,而弱类型能够随意使用。强类型语言在编译时就会告诉你错误,而其它语言须要在运行时,才能知道错误。
举个例子,咱们将数值存储在整型/符点型/双精度符点型的变量中,而且与存储在字符串中的变量进行比较时,有的语言会进行自动类型转换,而后进行比较,而有的语言并不会。
编程七宗罪,让人不爽。咱们须要避免出现。
这个仅仅是在编程中出现的常见错误。你很难看到,一个程序员,在他的程序中出现这些问题。但这也正如圣经中的七宗罪同样,不只是这些问题。它们是原罪,能够组合成不一样的错误。
你认为还有什么错误须要加在这个列表里面,在评论中写出来,让我知道。
Happy Coding!
原文连接:
https://mp.weixin.qq.com/s/BIlWx7w4Lhx-vprIBfdeWg
往期精彩回顾
欢迎关注个人公众号「程序员的成长之路」,阅读更多精彩!