服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

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

日期: 来源:程序员泥瓦匠收集编辑:严长生

点蓝字关注,一起程序员弯道超车之路


有一位创业者朋友,他是公司负责人,带领着一个十几人的小团队,目前正在开发一款 SaaS 产品。


这位朋友自己也是码农,而且在大厂工作了好几年,所以非常重视代码质量,不允许项目有瑕疵。我看过他自己写的代码,确实工整漂亮,架构合理,逻辑清晰,命名规范,注释详细,简直就是理工男中的战斗机。

前段时间他招聘了一个小伙,因为刚入职还没有磨合好,所以他亲自给小伙 review 代码,帮助小伙矫正那些不良的编程习惯。

也不知道是小伙产生了抗拒心理,还是本性就大大咧咧,他总是对命名规范不太关注,经常在代码中使用不同的命名风格,而且还做不到见名知意。他认为名字只是一个细节,既不影响程序性能,也不影响程序逻辑,没有必要花费太多精力。

三番五次劝说无效,我的朋友感觉非常疲惫和吐血。大概两个月以后,我的朋友终于受不了了,再也不想给他擦屁股了,趁着他还未转正,开除员工的成本最低,干脆就一不做二不休,让他正式毕业了。

好吧,朋友的做法确实简单粗暴,快刀斩乱麻,我本来以为我是一个雷厉风行的人,但是在他面前我也只能是一个弟弟。

我不公开评价开除员工的做法对不对,免得被人吐槽屁股坐歪,这篇文章,我只想简单讨论一下代码命名的重要性。

首先,我们必须承认的是,良好的命名是优秀代码的标志之一,它让代码更容易阅读和理解,方便以后的迭代和升级。

不信你可以看看自己一个月之前写的代码,就连那些简单的函数和变量,你都不容易梳理清楚它们的具体含义。如果你再使用一个混乱的名字,我保证你会抓狂。

在实际开发中,我自己也会反复推敲变量的名字,删除了又重写,重写了又删除,来回折腾好几遍才满意。

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

我们不妨看一个例子:

let x, y, z;

function f() {
    //TODO:
}

这段代码是不是很难理解?x、y 和 z 分别代表什么?f() 有什么作用?

你再看下面这个例子:

let firstName, lastName;

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

很显然这段代码更容易阅读,瞟一眼就知道变量和函数的作用了。

另外,我们编写的代码也很容易出现错误,当名字具有描述性信息时,发现错误的成本就会降低(比如将错误的变量传递给了函数),否则你就得凭借记忆来猜测变量的含义。

你很容易记住一个变量的含义,但是你记不住 20 个变量的含义,当变量名字增多以后,你就会越来越混乱,搞不清楚它们是干嘛的。

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

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

常见的命名规范有:

  • 驼峰命名法

  • 下划线命名法(蛇形命名法)

  • 帕斯卡命名法

  • 匈牙利命名法

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

不同的个人、公司、团队、项目可能会采用不同的命名规范,它们之间没有明确的好坏之分,只是一种约定成俗的习惯而已。

总起来说,代码命名应该遵守以下规则:

  • 具有描述性信息,做到见名知意;

  • 易于记忆和发音;

  • 采用一种命名规范,让所有名字具有统一风格;

  • 避免使用单个字母,除非从上下文中可以很清楚地知道它的含义(比如 for 循环中的 i);

  • 名字不能说明问题的时候,请尽量写注释。


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





↑ 点击即可关注 


关于我的近况

目前在 SaaS 创业中,如果你想成为技术高管或技术转创业,那必不可少的要懂商业、营销、产品等等。

也可以点击下方去阅读我 SaaS 创业的原创公号分享


相关阅读

  • 2 万 star 开源 core-js 作者快缺钱“拖垮”了...

  • 点蓝字关注,一起程序员弯道超车之路作者 | Denis Pushkarev译者 | 核子可乐策划 | 刘燕大家好,我是 @zloirock (Denis Pushkarev),一名全职开源开发者。其实我不爱写长文,这篇文章
  • 阿里开源的低代码引擎 LowCodeEngine

  • 点蓝字关注,一起程序员弯道超车之路LowCodeEngine是由阿里巴巴钉钉团队开源的低代码引擎, 该引擎全面遵循《阿里巴巴中后端前端基础构建协议规范》和《阿里巴巴中后端前端素材
  • 程序员“副业”灵感指南 2023

  • 点蓝字关注,一起程序员弯道超车之路来源:InfoQ、整理:Tina2023 年,你考虑做个副业吗?去年 10 月,“北京女孩副业上门喂猫一周赚 5 千”登上热搜。既能撸猫,还能挣钱,许多网友感叹“
  • Kotlin协程开发的基础入门知识

  • / 今日科技快讯 /近日,爱奇艺官方账号发文,针对近期爱奇艺VIP会员用户反馈的投屏清晰度、设备登录等问题做出如下调整:1.为2023年2月20日仍处于订阅状态的爱奇艺黄金 VIP
  • Android自定义通知方方面面全适配

  • / 今日科技快讯 /近日,社交媒体推特老板埃隆·马斯克在回复用户推文时表示,推特将于下周开源算法。在此之前,马斯克一直说要将推特算法开源。周二一名推特用户表示,如果“现
  • 推倒重来,如何快速从 0 到 1 重构一个 APP 项目?

  • 说到「重构」这个话题,或许有些朋友遇到过这样的经历,公司早年间上线的项目系统,因一直没专人在演进过程中为代码质量负责,导致现在代码越来越混乱,逐渐堆积成“屎山”,目前的维护
  • 实战|记一次横向移动渗透测试

  • | 作者:windcctv,转自FreeBuf.COM本次渗透在几个docker虚拟机间多次横向移动,最终找到了一个可以进行docker逃逸的出口,拿下服务器。渗透过程曲折但充满了乐趣,入口是172.17.0.6
  • 分享两种方式:如何开启JNI的“大门”?

  • ‍‍1要介绍本篇博客的原因前段时间学习OpenGL ES相关技术,下载了一个Github项目学习,项目地址在:https://github.com/githubhaohao/NDK_OpenGLES_3_0项目的关键代码都是C++实

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

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

  • 点蓝字关注,一起程序员弯道超车之路有一位创业者朋友,他是公司负责人,带领着一个十几人的小团队,目前正在开发一款 SaaS 产品。这位朋友自己也是码农,而且在大厂工作了好几年,所以
  • 10% GitHub + 7% GitLab 神级同步大裁员

  • 点蓝字关注,一起程序员弯道超车之路出品 | OSC开源社区(ID:oschina2013)对科技行业来说,2023 年应该是比较艰难的一年,目前已有多个大型科技公司都宣布了裁员,其中包括微软、亚马
  • 2 万 star 开源 core-js 作者快缺钱“拖垮”了...

  • 点蓝字关注,一起程序员弯道超车之路作者 | Denis Pushkarev译者 | 核子可乐策划 | 刘燕大家好,我是 @zloirock (Denis Pushkarev),一名全职开源开发者。其实我不爱写长文,这篇文章
  • 贵州省红十字会王开禄一行在赣州市考察调研

  • 2月24日,贵州省红十字会党组书记、常务副会长王开禄一行在我市章贡区、南康区调研应急救援、基金会建设、红十字会基层组织建设以及志愿服务等工作。省红十字会党组成员、专
  • 感谢快 100 位朋友的支持!

  • 第一为什么定位软件?为什么定位出海?因为更佳专注,市场上国内卷不动 我目前专注国外。所以看的做的都是国外,建议大家出海 trytry 而且其他貌似没变。反正国外做好了,国内也差不