分享一个我判断程序员代码实力的方法

2017-08-22 01:03:49 +08:00
 baskice
根据我的观察,程序员的实力可以根据 代码量:bugs 数量 的增长函数来鉴别。

刚入门的新人通常在代码量较少时 bugs 的数量也少,但当项目复杂程度增长后 bug 数量会指数式爆发增长
(团队没有培养能力的话尽可能不要招这个水平还自身没有很强学习动力的人)

普通水平的程序员自己写代码时 bugs 数量和代码量呈稳定线性增长趋势
(合作项目就难说了,更看管理者合作能力好不好)(这个程度薪水已经能够保证了,但替代性依旧很强,老板可能一言不合炒人)

高级程序员 bug 量几乎不随代码量增长而增长。到这个阶段如果还有一定管理能力,脑子正常的老板已经不敢随意开除了。



代码量 /bug 比可以从 GitHub 的公开项目获得。当然这种鉴别方法也可以对抗,比如新人尽量不写复杂大项目以期混入普通程序员中。
或者干脆不给 GitHub 这些过往代码给你看。只靠面试看走眼的几率还是很高的。
10005 次点击
所在节点    程序员
61 条回复
fumichael
2017-08-22 16:48:42 +08:00
根据我的观察,只招高级程序员就可以了。
ThatIsFine
2017-08-22 16:52:13 +08:00
@Lucups "估计非技术出身的 PM 也不好理解程序好在哪里, 只能看谁在在当前开发及解决问题的效率"
这句话的意思就是说了你也看不懂.

前面两个例子就是两个手速一般的, 年年拿 A 的同事. 你看懂了吗?
loveCoding
2017-08-22 17:28:15 +08:00
看他研究源码 , 对于大多数人来说 , 要想提高提高代码水平, 悟是悟不出来的 , 唯手熟尔.
Lucups
2017-08-22 17:39:56 +08:00
@ThatIsFine

既然你回应了,我不回你也不礼貌。下面开撕。

我说手速一般就不是好程序员了吗?我一开始就强调 『单指标的衡量标准肯定不靠谱』,然后提出了几个指标。你一上来就拿手速说事,其他三项又不说为什么不合理,难道这方面被人伤过?这么敏感?你也说『只能看谁在在当前开发及解决问题的效率』, 你也知道 『效率』二字,手速难道不是『效率』的一种体现吗?虽然成效低,但苍蝇也是肉啊。

你的这句『 你提的其他的点, 也不多说. 』太过于嚣张,如果是新手,我原谅你,毕竟人人都傻逼过;如果是小马甲,那请不要回避这个问题,请阐述一下我提的其他的点哪里不对。

最后你问我 『看懂了吗?』,我当然懂你的话,我只是不懂你为什么回答了一句废话。

用我最初的回复来表达就是:
因为某人
1. 技术视野(广),在遇到问题时能够快速定位问题;
2. 搜索能力(强),能够快速找到想要的资料;
3. 英语能力(强),毕竟很多新东西首先出来的都是英文版;
4. 手速(快)
5. 等等等
所以他 (『开发及解决问题的效率』高,)是一个好程序员。

用你的表达就是:
因为『开发及解决问题的效率』高,所以是一个好程序员。

谁不知道『开发及解决问题的效率』高的程序员是好程序员?这个是结论,不是条件。
你自己逻辑混乱,不说你的条件也就罢了,还来嘲讽我,是小马甲给了你勇气吗?
Lucups
2017-08-22 17:46:55 +08:00
@ThatIsFine
Sorry,撕逼心切,最后的回复看错了。下面重新撕。



以下省略 500 字。。。



哎,我真无聊。不撕了。跟一个小马甲较什么劲。。。
hellojl
2017-08-22 17:54:58 +08:00
@Lucups 问的是代码实力,你说的这些,跟我作为一个程序员理解的“代码实力”不一样
robinlovemaggie
2017-08-22 17:58:57 +08:00
@fcka 购物历史含女装更可信[沉思状]~~
iRiven
2017-08-22 18:00:52 +08:00
正在写 bug 的我看到楼主的帖子后,双手离开键盘,拿起了手机
tagtag
2017-08-22 18:13:34 +08:00
确实最好的方法就是使用一个结构标准且严格的框架,越灵活的编码方式对程序员的能力要求越高。
me15000
2017-08-22 18:16:17 +08:00
感觉老板不关心这些
Adia
2017-08-22 19:17:44 +08:00
其实一个项目的架构好不好也会影响 bug 的数量
darklowly
2017-08-22 20:05:56 +08:00
@solomaster 好的程序员会化简,既不会用复杂的实现,也不会用复杂的设计,写出来的代码是很简单的,明显没有错误的,而不是没有明显错误
JamesR
2017-08-23 01:15:42 +08:00
我写的代码,大约一半都是为了预防各种意外以及 Bug 的。
初级程序员为了省事略掉这部分代码,后期肯定问题会浮出来,“高级程序员 bug 量几乎不随代码量增长而增长”有一定道理的。
ThatIsFine
2017-08-23 09:01:55 +08:00
@Lucups 你可以从我的回帖记录发现并非马甲, 看了你的长回复,着急
Romanticlizhi
2017-08-23 09:22:32 +08:00
谁不是从初级菜鸟慢慢过渡到高级的,说这个有意思吗,说的像有人一出生就是高级大神一样
RorschachZZZ
2017-08-23 11:48:40 +08:00
1 理解能力 2 沟通能力 3 解决问题速度 4 代码性能 5 代码拓展性 6 代码复用率
darklowly
2017-08-23 13:48:04 +08:00
@Lucups 你的前几点,都是很外行的说法,因为很空洞,你把前三点的,换成任何一个工种,都是适用的,所以是没有落地的套话。最后一点,手速完全没用,只要不是霍金,正常人的手速,都不是瓶颈。什么苍蝇再小也是肉,是在胡扯,一个产品经理,抓不住重点,毫无作用的细枝末节,却.....
andy009
2017-08-23 15:47:05 +08:00
github 是可以伪造的,无论在哪间公司都有极端的例子,有些人甚至能凭借着能说会道的忽悠能力来升级。
说到程序员的不可替代性,最好重复开发轮子,让公司离不开自己的轮子。
一个小时,你跟任何程序员聊一些工作上的细节,都摸清他的实力了。
cbangchenLL7
2019-10-30 15:22:21 +08:00
@Lucups 快速定位问题的能力,与技术的深度关系大一点。手速应该和编程的能力完全无关。搜索和英语能力是一个人的综合能力,是有关的。对于你单指标的衡量标准不够客观这个还是同意的。
Lucups
2019-10-30 18:01:14 +08:00
@cbangchenLL7

没想到这个帖子还有人回复...

看到很多人反对我的这个手速观点,我理解你们的意思。
我的意思并非说手速越快编程能力越强——我想说的是,你们一定没见过用两根食指敲键盘的程序员。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384709

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX