如何脱颖而出?少数开发人员才有的6种编程习惯

开发 前端
其实说到优秀的程序员,我们能想到很多特性,其中很多是某些职业习惯。大多数程序员认为有些工作习惯可以让他们更出色,但知道和做到是两码事儿,大部分人并没有这些习惯。

本文转载自公众号“读芯术”(ID:AI_Discovery)

其实说到优秀的程序员,我们能想到很多特性,其中很多是某些职业习惯。大多数程序员认为有些工作习惯可以让他们更出色,但知道和做到是两码事儿,大部分人并没有这些习惯。

众所周知,习惯决定成败。脱颖而出的关键就在于那些良好的编程习惯。

1. 清理代码

一个好的编程习惯是,每更改一次代码都要有一次进步,无论是只修改一行代码还是给现有代码添加新的指令。

罗伯特·C·马丁借用童子军规则对这个习惯做了一个精彩的总结:“编辑后的代码一定要比编辑前的好。”

在浏览一段代码时,你会惊讶地发现有很多可以改进的小细节,比如重命名变量或函数。只要确保每次至少完善一处地方即可,你的代码就能得到优化。

养成这个良好习惯的原因是我们的认知在不断完善:昨天做得不错的事情,今天就能做得更好。代码会随着时间的流逝而“腐烂”,因此,完善代码是保持代码可维护性的关键。

[[329684]]

图源:unsplash

2. 写好文档

这是本文中所列举的最棒的习惯,记录工作非常重要。

你是否曾遇到过这样一个存储库,没有任何文档说明如何正确设置所有内容或应用程序应该如何工作?在阅读了几个小时的代码后,你很可能仍然一无所获,那时你会希望读到相关文档。

至少要为你的项目推荐一个合适的readme.md,它可以说明应用程序应该做什么以及如何启动和运行它。

文档部分在编码时就能完成,花点时间考虑一下描述性的变量名,会有所帮助的。也许为变量、方法和类选择好名字需要花费时间,但相比之下,节省的时间要多得多。

3. 考虑谁是下一个

每编写一段代码时,都应该考虑下一位开发人员在查看这段代码时会发现什么。要抱着易于理解,让别人读起来就像自己写的一样的心态来编写代码。

阅读代码与编写代码所花费的时间之比远超过10:1。这意味着从长远来看,你可以用多花些精力提升代码可读性的方式来节省大量时间。

在编码方面不要花哨,写出每个人都能理解的简单代码。完全没必要做点什么“新花样”,从Stack Overflow复制而来的自己都读不懂代码毫无意义。

4. 做需要的事——要有“度”

很多开发人员有一个奇怪的习惯:喜欢多做事。当要求他们做出某种功能时,大多数开发人员会加入一些额外的功能——“以防万一”。我们将这种行为称为 “过度工程”。让你的代码变得比要求的更健壮复杂,但其实真的没必要。

[[329685]]

图源:unsplash

很多时候,人们会基于推测去构建比实际所需更多的东西。开发人员根据自己的想法添加了将来可能有用的代码,这些额外的代码片段虽然已添加到代码库中,但可能永远都不会使用。

过度工程会让代码整体变得十分平庸,无法看出它的初始目的是什么。这样的代码不仅不好用,而且还会从根本上变得难以理解。

5. 计划代码

有件事是很多程序员都会做的:在被分配特定任务时会直接跳到他们最喜欢的部分——他们会立刻开始编写代码。

乍一看,进入代码环节似乎很令人兴奋。但是,这种兴奋可能最终会浪费很多时间。如果直接进入编码部分,则会使你失去对全局的把握。

在开始编码之前,你需要做规划安排。思考可能会出现的问题以及如何解决这些问题。如何设计代码?为什么要实现这项功能?这些问题可以让你更清楚的意识到一个事实:编写代码之前,有很多事情要考虑。

[[329686]]

图源:unsplash

6. 永不停止学习

正如艾萨克·阿西莫夫所说:“停止学习就是走向衰败的开始。” 在技术世界日新月异的今天更是如此。

紧跟变化的脚步是不可能的,即使你可以做到,我也不建议你这么做。过犹不及,但最好能够保持时不时学习一种新的框架或编程语言。不是说你必须成为所有编程语言或框架的专家,只是去尝试其中的一部分,看看是否喜欢它们就很好了。

通过使用另一种语言或框架来解决某些问题能使你从中获得许多新见识,这会帮助你在程序员这条道路上越走越好。

[[329687]]

图源:unsplash

养成这些时间需要时间和坚持,它不会一蹴而就,你得有点儿耐心。但是所带来的回报会让你知道,一切付出都是值得的。

 

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2018-03-06 15:57:53

简历互联网人员

2012-08-08 10:00:17

面试技术

2014-02-24 13:55:47

简历简历技巧

2009-04-13 10:52:03

视频面试求职技巧

2022-07-04 08:00:00

Web开发人员编程习惯程序员

2019-11-22 09:16:32

跳槽那些事儿人工智能程序员

2018-06-03 00:16:36

阿里巴巴技术面试

2013-03-25 16:39:42

华为BYOD解决方案

2009-05-06 10:53:22

ASP.NET编程开发

2010-08-04 14:11:58

面试木讷

2015-08-06 10:03:03

云计算云计算认证云迁移

2021-02-19 09:33:01

kubernetesJAVA服务

2023-03-15 07:12:53

企业开发人员提供商

2022-07-04 10:34:45

编程语言RustGo

2012-04-28 14:29:36

App Store冲榜策略排行榜规则

2020-02-14 09:50:19

数据中心IT技术

2013-08-27 15:45:37

App应用商店ASO应用商店优化App营销推广

2014-09-02 15:25:10

国产操作系统

2016-05-12 13:51:05

IBM大型机混合云

2011-12-27 15:02:37

云计算
点赞
收藏

51CTO技术栈公众号