有的代码一看就是新手写的,写这样的代码的程序员,基本上只能留在初级程序员的岗位上。这样的代码有哪些特点呢?
1、没有格式,混乱不堪。比如缩进对不齐、语句从不换行、空格和制表符混搭等等。
这表明作者缺乏阅读代码,包括自己代码的经验。只有长期经常阅读代码的人才会有意识的对自己的代码做格式化。
而缺乏阅读代码经验的人必然也缺乏维护代码的经验。这种人可能经常跳槽,连自己的代码都从来不看第二遍,留下一堆的坑让别人来填。
而缺乏维护代码经验的人也必然缺乏解决故障的经验和重构代码的经验,而这两个对程序员的工作效率来说是至关重要的。很多时候老油条看一眼就知道问题出在哪里,而新手要调试一整天。别让薪水花冤枉了。
你可能说我太吹毛求疵,不就是排版乱一点,哪那么多道道?但实际情况真的就是这样子。
2、不会命名,或老写错字。简单的单词都能拼错就不说了,我另外举个例子,纸张的正面不是 front 嘛,他一查字典,结果选了 positive,“积极正面”的正面,那好吧,反面你就用 negative 吧,我不,他又查字典,结果起个名字叫 reverse,这搞得完全看不懂了。
让这种人加到项目里面来,你就恨不得手把手的帮他把代码写了(也恨不得薪水都帮他领了),一不留神就各种奇葩名字。其实 Java 早就支持 Unicode,实在不行用中文名字算了。
3、语法高亮。这个从代码本身看不出,但可以瞄一眼作者的 IDE 是啥样。IDE 现在都可以自定义语法高亮,但是默认的情况下都只有三个颜色:关键字一个颜色,字符串一个颜色,剩下的一个颜色。
而实际上经验丰富的开发者都会尽可能多的用颜色,来区分类、成员、方法和参数等等,这样可以提高阅读效率。比如 color-themes.com 就有很多现成的风格。
看得舒服是次要的,最终目的是要提高阅读效率。当然除了颜色外,好的字体也很重要,这里就不多说了。总之,只有老油条才会关注这些东西,不当回事的多半是初学者。
说了这么多,其实一句话:当新手开发效率到了一个极限想要继续提升,就必须在代码的格式、命名、视觉效果上下功夫。这是新手必须要迈过的坎。
102
idtaanlcoe 2018-09-17 13:24:46 +08:00 via Android
太复杂的
|
103
danc 2018-09-17 13:26:39 +08:00
什么样的代码一看就知道是新手?你写的代码
|
104
Corbusier 2018-09-17 16:15:14 +08:00
不知道如何定义新手代码,只是上家公司有个小子一堆 chinglish 变量名,savePinglun,saveHuifu,tishi,tijiao...我看了都脸酸。各种 if 嵌套,同步请求。
|
105
slimbloody 2018-09-17 16:36:31 +08:00
请教一下大佬, 如何提高命名能力, 有相关资料推荐嘛?
|
106
karmaisbitch 2018-09-17 16:39:27 +08:00
感觉这种帖子,在 V2EX 上很常见啊,简直要月经贴了
|
107
SOLIDxRaiden 2018-09-17 16:49:01 +08:00
在游戏代码里写人力循环的我(
|
108
ryd994 2018-09-17 16:49:23 +08:00 via Android
只要你还在一天到晚只写代码,还要纠结怎么打字更快,那你就是新手。
高手在写文档 老手在写 Excel |
109
di1012 2018-09-17 17:37:54 +08:00
我这种人写的代码,一看就是新手,尽管已经工作四五年了
|
110
Joyboo 2018-09-17 19:10:35 +08:00
格式真的非常非常非常重要,真的,其次是命名
|
111
Vamposine 2018-09-18 00:28:52 +08:00 via iPhone
@itskingname 写惯了 java 的我也经常这么写 python。Orz
|
112
javaWeber 2018-09-18 09:32:00 +08:00
String shengfen;
|
113
ww940521 2018-09-18 09:40:54 +08:00
我以前感觉编译器花红柳绿的看起来很煞笔,原来煞笔的是我自己啊,o(╥﹏╥)o
|
115
shapimai 2018-09-18 11:04:52 +08:00
你觉得是新手→他就是新手←你不喜欢他
无关代码 zsbd |
116
cncqw 2018-09-18 11:26:08 +08:00
刚在 git 上看到别组同事写的,怎么讲,能写出这种代码的人可以说是 phper 里面的翘楚 |
117
CheckH 2018-09-18 11:26:54 +08:00 via Android
看大家讨论的如此热闹,我差点就忘了这是篇广告。
|
118
berforest 2018-09-18 13:23:37 +08:00
经常关注别人是不是新手的一般都是新手或者不太行的老手
|
121
thinker3 2018-09-19 09:44:11 +08:00
认同 1,2 两点。在招聘和试用期把关
|
122
xuanwu 2018-09-20 19:14:56 +08:00
第二点. 中文命名是无论新老手都适用的, 越是与非 IT 业务相关越可显出优势: https://www.v2ex.com/t/477109#reply0
|
123
zaqmjuop 2018-10-05 10:43:05 +08:00 via Android
github 不是有 code style 么
|
124
luoling8192 122 天前
@flowfire #74 辅-元-辅,你至少得把 y 改成 i 再加 ed 吧(
|
125
luoling8192 122 天前
@storypanda #92 直接 return a==b 就好了啊
|