为什么我写不好代码

前言

前段时间在掘金上看到一篇文章如何编写高质量的函数 – 敲山震虎篇,主要讲如何写好前端代码。前言中有一段分析,很有意思,为什么大家都想写高质量代码,却无法实践。感觉戳到了痛点,遂记之。

现实很骨感

有些时候,可爱的你可能会有这样的疑问,我也知道要编写高质量的函数,我也知道编写高质量函数的基本方法,但是我在工作中就是没法付出实践,一而再,再而三的没法付出实践。

像这种知道怎么做,但是无法付出实践的事情,其实不是你个人的问题,这是个通病,几乎 90% 的人都会遇到,那么原因是什么呢?

我个人认为,这需要从两个层次去理解,为什么现实很骨感。

接手旧业务

首先,这里的旧业务是指:你要在别人完成好的某个需求的代码基础上进行开发。这几乎是所有 coder 都会遇到的情况。每个人可能都会在工作中吐槽一句,这写的什么玩意?之类的吐槽话。很正常,说不定你写的代码,此刻也正在被别的 coder 吐槽呢。

为什么旧业务的现实很骨感,原因大致如下:

  • 不是亲生的,不想管
  • 旧业务代码 “太烂” ,不值得去优化。比如没有注释(吐血),没有适当的解 耦,一个函数 200 行(吐血)等
  • 旧业务中,提供基础服务的代码就很烂,没法搞,牵一发动全身,不值得冒险
  • 旧业务太过重要,而且运行良好(嗯?),不敢动它,锅背不住
  • 你的权利不够大,不能乱改
  • 这个需求做的不开心,反正就是不开心,心累,不想去为它编写高质量函数,只想简单完成需求
  • 时间不允许,太赶,除了 coding ,我还有生活啊,不想把其他宝贵的时间花在优化上,这个是硬伤
  • 可能是最后一个原因:懒

接手新业务

能接新业务,算是很不错的了,从业务代码的初始化到完成上线,都是你全程参与,既可以锻炼你的工程化思想,也可以实践一下你写的代码在日后能不能轻松的扩展。少被别的 coder 说坑。

但是就算是在做新业务的情况下,现实有时也很骨感,原因大致如下:

  • 各种因素,做的不开心,不想认真做,只想草草了事
  • 业务不是你一个人完成,需要考虑技术水平,一个项目,有的 coder 写的函数质量差一些,但是你又不能说什么,帮人家写么,不太可能,然后写着写着,新业务的代码整体质量就下降了
  • 时间不允许,和旧业务第 7 条原因相同
  • 技术限制,比如必须要使用公司内部自研的技术,但是这个技术并不适合这个新业务的特点,但是你还得必须要用,然后就会出现代码层面的一些问题,这是一个比较无解的问题。除非你很酷,可以对自研技术进行改造,但是就算再改造,也很难适应所有业务
  • 也可能是最后一个原因:懒

总结

上面的是我个人的看法,但是八九不离十。很多情况下,不是不会,努力努力都会的,但是有时候啊,你会发现,总会有一部分人在尽可能的去尝试,然后你和别人的差距就出来了。可以这么说,这里的每一个理由,都可以抽象成一个需求,而你要做的就是去努力解决这个需求。加油吧少年,人与人的差距就是这样产生的。

幕后花絮:事实是,我的一些业务(不开心的业务等因素)代码,也很一般,我同事看到此文别笑,都是搬砖工(码农),何苦为难搬砖工(码农)。

ps: 查看掘金博客和github的文章时这段分析已被博主删除,但是从githubissue的编辑记录中查看历史,第一版有这段分析。

所以,在日常开发/管理中应该注意什么呢?