前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >因为一件小事被公司开除了

因为一件小事被公司开除了

作者头像
二哥聊运营工具
发布2023-02-26 14:13:35
1960
发布2023-02-26 14:13:35
举报
文章被收录于专栏:程序员泥瓦匠

有一位创业者朋友,他是公司负责人,带领着一个十几人的小团队,目前正在开发一款 SaaS 产品。 这位朋友自己也是码农,而且在大厂工作了好几年,所以非常重视代码质量,不允许项目有瑕疵。我看过他自己写的代码,确实工整漂亮,架构合理,逻辑清晰,命名规范,注释详细,简直就是理工男中的战斗机。 前段时间他招聘了一个小伙,因为刚入职还没有磨合好,所以他亲自给小伙 review 代码,帮助小伙矫正那些不良的编程习惯。 也不知道是小伙产生了抗拒心理,还是本性就大大咧咧,他总是对命名规范不太关注,经常在代码中使用不同的命名风格,而且还做不到见名知意。他认为名字只是一个细节,既不影响程序性能,也不影响程序逻辑,没有必要花费太多精力。 三番五次劝说无效,我的朋友感觉非常疲惫和吐血。大概两个月以后,我的朋友终于受不了了,再也不想给他擦屁股了,趁着他还未转正,开除员工的成本最低,干脆就一不做二不休,让他正式毕业了。 好吧,朋友的做法确实简单粗暴,快刀斩乱麻,我本来以为我是一个雷厉风行的人,但是在他面前我也只能是一个弟弟。 我不公开评价开除员工的做法对不对,免得被人吐槽屁股坐歪,这篇文章,我只想简单讨论一下代码命名的重要性。 首先,我们必须承认的是,良好的命名是优秀代码的标志之一,它让代码更容易阅读和理解,方便以后的迭代和升级。 不信你可以看看自己一个月之前写的代码,就连那些简单的函数和变量,你都不容易梳理清楚它们的具体含义。如果你再使用一个混乱的名字,我保证你会抓狂。 在实际开发中,我自己也会反复推敲变量的名字,删除了又重写,重写了又删除,来回折腾好几遍才满意。

嗯,作为一个程序员,多少都要有一些强迫症。

我们不妨看一个例子:

代码语言:javascript
复制
let x, y, z;

function f() {
    //TODO:
}

这段代码是不是很难理解?x、y 和 z 分别代表什么?f() 有什么作用? 你再看下面这个例子:

代码语言:javascript
复制
let firstName, lastName;

function printFullName(firstName, secondName) {
    //TODO:
}

很显然这段代码更容易阅读,瞟一眼就知道变量和函数的作用了。 另外,我们编写的代码也很容易出现错误,当名字具有描述性信息时,发现错误的成本就会降低(比如将错误的变量传递给了函数),否则你就得凭借记忆来猜测变量的含义。 你很容易记住一个变量的含义,但是你记不住 20 个变量的含义,当变量名字增多以后,你就会越来越混乱,搞不清楚它们是干嘛的。

不要相信记忆,它是不靠谱的,只有白纸黑字写下来的东西才不会出错。

最后,你还应该遵守某种命名规范,按照统一的风格来起名字。所谓命名规范,就是指使用大小写和分隔符来增强代码的可读性。 常见的命名规范有:

  • 驼峰命名法
  • 下划线命名法(蛇形命名法)
  • 帕斯卡命名法
  • 匈牙利命名法

不同命名规范的具体细节就不在这里展开讨论了,有兴趣的读者请自行百度。

不同的个人、公司、团队、项目可能会采用不同的命名规范,它们之间没有明确的好坏之分,只是一种约定成俗的习惯而已。 总起来说,代码命名应该遵守以下规则:

  • 具有描述性信息,做到见名知意;
  • 易于记忆和发音;
  • 采用一种命名规范,让所有名字具有统一风格;
  • 避免使用单个字母,除非从上下文中可以很清楚地知道它的含义(比如 for 循环中的 i);
  • 名字不能说明问题的时候,请尽量写注释。

当你的名字不符合以上规则时,那么它很有可能就是一个糟糕的名字。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员泥瓦匠 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档