专栏首页非著名程序员编程王道,为「慢」不破

编程王道,为「慢」不破

最近一段时间,在团队中我发现好多程序员,尤其是初级或者新手程序员常常犯得的错误都很初级,经常犯一些编程中的大忌。不是没有能力做好,而是做事不细心,我一直在给他们灌输一个思想,其实编程的核心和王道就是:慢就是快。都说天下武功,唯快不破。但是在编程的道路中,天下代码,而是:唯「慢」不破。

今天,我们就来谈谈新手程序员或者经验少的程序员常常犯得大忌是哪些,表现形式有哪些,以及如何避免的问题。

1、兵马未动,粮草先行

所谓兵马未动,粮草先行,就是讲做一件事之前一定要做够充分的准备工作。而很多程序员犯得大忌和表现形式就是:原型需求和整个产品的业务逻辑都没有搞明白之前,就开始动手了。边做边开始捋需求,对于前端程序员来讲,这还好说一点,但是对于后端的程序员来说,真的是大忌了。因为架构的设计,数据库的设计都是要依据这个产品的业务逻辑来实现的。

这里讲的编程王道,唯「慢」不破,指的是前期一定要花大量的时间来搞明白产品的需求和业务逻辑,不要着急动手去做代码的实现。

我感觉作为一个程序员来讲,在正式敲代码实现之前,搞明白产品需求和业务逻辑到确定数据库的设计和架构的设计,至少得占这个项目所有时间的 1/3 左右才合适,甚至有的难度大的 ERP 式的系统,占到一半时间也有可能。只要这些确定都想通了,剩下的就是噼里啪啦的敲代码了。

之前,有个朋友开玩笑的说:

我看你们程序员敲代码都喜欢使用机械键盘,噼里啪啦的敲代码的声音很大,感觉你们是在做体力活似的。

我想说:我们其实喜欢的是噼里啪啦敲代码的那种感觉,键盘的敲击声能够给人带来一种爽感。但是我们程序员最动脑的工作其实就是前期的准备工作,是设计的思考,后期确实就跟体力活也差不多。

2、编程中慢在细节,快在编码

兵马未动,粮草都已经先行了,前期我们准备工作都做好了,剩下的就是敲代码了。虽然在编码的过程中确实很快,但是也要注意一些细节。

很多程序员编码习惯的问题,或者是为了追求速度的问题,导致在一些该注意细节的地方没有注意到。比如编程的大忌和表现形式就是:后台程序员逻辑判断考虑不周全,有的甚至不写,直到测试测试出来,才会写;而前端程序员不注意细节的体验问题,出现错误不弹窗处理,不告知用户,有些该提示的地方,不给用户提示,不是不知道,就是懒得写。

快在编码不假,但是要慢在细节。后端程序员一定要把逻辑判断想周全,前端程序员一定要注意用户体验。这都是经验。

3、编程大忌:不要抱有先实现,后完善的幻想

有很多程序员都有这样的借口,项目比较着急,我先实现这个功能,能用就行,后期我再回来完善就行。后台程序员可能会想,这个接口先写完,给前端用着,一些判断不先加,等 过后我统一回来完善。前端程序员想这个弹框不先写,等做完了,再一一加上。项目太急了,先做完再说。

这样能叫做完吗?编程的大忌,这是大忌。不要抱有先实现后完善的幻想。敲代码最重要的就是「一步到位」。

你告诉我:有多少程序员能有时间回来完善和重构的?你这样想了,后期不出 bug 或者测试不提,你可能都忘了,都可能记不起来这件事了。因为你可能在你心中永远都认为你在忙。

再者,一个程序员最讨厌的一件事是什么?修改代码,不管是修改你自己的,还是修改别人的。回来修改代码的时间是极大的浪费,以为你要在你写的忙忙代码中找到你当时写的不好的地方,完善它。你找代码的过程是非常浪费时间的。

有多少人能够回来完善?又有多少人会重构代码?反问一下自己。

总结

说完这些之后,我们再来算一下时间成本,为什么慢就是快呢?因为如果你前期花足了时间准备和设计,在编程的时候,又尽量完善的注意到了细节,你项目最终完成的时候,bug 就会少很多,就可以及时交付。如果你认为先实现,后完善,你项目交付测试的时候,bug 会很多,很多,你修改 bug 的时间绝对会大量的浪费时间,最后很容易导致项目不能按时完成和交付。

很多人算不过这个成本,慢就是快,看似你的快,其实并不是快,是伪快。所以,作为一个程序员切勿犯到上面提到的编程大忌。这是一个编程习惯和风格养成的问题。如果有一个好的变成习惯,你将会受益终生。

最后,编程王道,唯「慢」不破。

本文分享自微信公众号 - 非著名程序员(non-famous-coder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-25

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于程序员未来的思考

    简书的初夜给未来 今天早上在知乎上看到自己关注一个问题 程序员在十年后还会有今天的收入么? 有了一个新的匿名回答,虽然并不是高票回答,但是里边一句话 我想说你...

    非著名程序员
  • 程序员,如何从平庸走向理想?

    1 入行 我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26 岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司...

    非著名程序员
  • 移动互联网时代,好程序员的标准是什么?

    怎样成为一个好的程序员 ? 在移动互联网迅速发展的今天,移动开发者的数量也是迅猛的增加,ios和android开发者的数量更不必多说,程序员这个行业被很多人认...

    非著名程序员
  • 观点 | 未来程序员会被机器取代吗?

    用户1737318
  • 代码写的越多,越容易成为大牛吗?

    有一点是非常明确的写代码的数量只是在总体量上占据有优势,但并不代表着编程能力就一定是最强的,毕竟写代码的能力只是程序员的一种基本能力之一,如同掌握一门编程语言是...

    程序员互动联盟
  • 程序员的未来

    原文出处: tcz.hu 译文出处:码农网 – 小峰 程序员是注定灭绝的一个物种。 在一个来自于CGP Grey很精彩的视频中,他提出说,在不久的将来,...

    wangxl
  • 程序员的未来

    程序员的未来 在一个来自于CGP Grey很精彩的视频中,他提出说,在不久的将来,大多数工作将会由机器替代。许多行业,从卡车司机到医生,在不久的将来将会消失或发...

    用户1289394
  • 每次不能把工作干好的时候,就看看

    软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员...

    前朝楚水
  • 程序员如何在百忙之中不走岔路,不白忙!

    程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。或者说,不忙的程序员有可能被公司末尾淘汰掉。对此,一直危机感很重的我深以为...

    哲洛不闹
  • 1024程序猿节:揭秘腾讯老中青三代程序猿工位

    ? 相传敲代码是个高危行业,没有秃顶可能是工作不饱和,再出BUG还会被拿去祭天,程序员也是互联网的另类物种,钱多话少爱自黑,月薪五万像五千。 这当然只是一种有...

    腾讯技术工程官方号

扫码关注云+社区

领取腾讯云代金券