公正评价,这代码什么水平

2022-05-11 09:46:48 +08:00
 Aliberter
var isOperate_BangDing = false;
var isOperate_ShuaXin = false;
if ("bangDing".equalsIgnoreCase(operateName))
{
isOperate_BangDing = true;
}
else if ("shuaXin".equalsIgnoreCase(operateName))
{
isOperate_ShuaXin = true;
}

if (isOperate_BangDing == true
|| isOperate_ShuaXin == true) {...

15233 次点击
所在节点    程序员
151 条回复
nonwill
2022-05-11 16:56:13 +08:00
这还好吧,引荐去看几个高手大佬们的 fork 出来的改进项目,加简直是 shi++++山

https://github.com/goldendict/goldendict/issues/1340#issuecomment-1123296947
gogogo1203
2022-05-11 16:57:36 +08:00
1. 有些语言 var xx boolean 默认就是 false, 再指明是 false 就是废话
2. 除非能 if else 就结算,不然一律使用 switch
3. 统一处理 input toLowerCase, 然后再 switch, 然后直接处理各个逻辑。

槽点实在是太多了
Leviathann
2022-05-11 17:15:23 +08:00
@wangtian2020 这个代码逻辑其实是反的,相当于把最后一个 else 写到了最上面,如果是经常考虑完备性的人读这个代码会感觉很不适
dufu1991
2022-05-11 17:18:14 +08:00
@Aliberter 可能这就是他能当领导的原因。
oppoic
2022-05-11 17:24:27 +08:00
var a = list.Contains("a") ? true : false;

过了很久,IDE 智能了许多,提示我这块可以优化,我才发现。
cslive
2022-05-11 17:28:02 +08:00
看到 var 和变量名以为是 javascript ,后面再看 equalsIgnoreCase 才知道是 java ,差点没认出来
ClorisYe
2022-05-11 17:33:52 +08:00
这么短的代码看不出别的,就知道很容易看清楚它想表达什么意思。我认为容易理解的就是好代码。
bthulu
2022-05-11 17:37:02 +08:00
@zdt3476 bool 跟 true 比较是有用的, 有可能你的这个对象里没有这个 bool 属性, 如果直接 if(a.b)就会出错, 而 if(a.b == true)却能整厂运行
pkwenda
2022-05-11 17:40:59 +08:00
我还以为是 js 重新了 String 呢

String.prototype.equalsIgnoreCase = function(str){ return true }
akira
2022-05-11 17:45:39 +08:00
挺好的啊,一目了然 不用做任何猜测。

能运行,并且清晰的代码 就是好代码。。。
pkwenda
2022-05-11 17:55:08 +08:00
@nonwill #101 我没看明白你喷的点是什么,你也没喷代码写的烂啊 ,项目进度慢? 😂
nonwill
2022-05-11 18:00:18 +08:00
@pkwenda “喷”过了,不管用
https://github.com/goldendict/goldendict/pull/1447
https://www.v2ex.com/t/842896

估计几个大佬就是为了练习英语吧
goobai
2022-05-11 18:28:28 +08:00
代码跟人,一个能跑就行!再怎么好看的代码,也就那点工资
jones2000
2022-05-11 18:40:09 +08:00
代码水平主要看是否满洲当前业务需求, 如果不满足,在漂亮的代码都是白给。其次就是可以让其他人可以看懂代码逻辑。看懂这个标准就不好说了,依据其他人的教育程度,文化水平,代码功底,业务了解程度等等.....

满洲当前业务需求这很重要,如果需求 10 并发量, 你写了 1W 个并发量,在老板看来都一样,业务能上线了。题外话, 如果你真写了 1W 并发的,那你们老板 2 期项目怎么升级收费呢?
encro
2022-05-11 18:40:55 +08:00
还不错,
用到了防御性编程和变量命名表意,
不亏是领导,
应该看过代码大全之类的。

差的是对语言不熟悉。
Kamiyu0087
2022-05-11 18:43:47 +08:00
我觉得能一眼就看明白的代码也不算太差吧😂
UIXX
2022-05-11 18:44:51 +08:00
对于已经语义化了的变量,我有一种评判代码逻辑组织是否合理的方式,即

用自然语言去试读代码是否会让人感到冗余。

从这个角度来看,我是同意 LZ 的说法,比如 if isOpened == true (假如 已打开 为真)就不如 if isOpened (假如已打开)。
SG4YK
2022-05-11 19:00:57 +08:00
😅
justin2018
2022-05-11 19:15:41 +08:00
变量命名 看着好累 一下英文 一下拼音~~

代码 写得挺好的~

逻辑一下就看清楚了 知道是干嘛的
timothyye
2022-05-11 19:19:49 +08:00
如果工资是以代码行数来计算的话,这是高人一等的水平

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

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

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

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

© 2021 V2EX