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

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) {...

15613 次点击
所在节点    程序员
151 条回复
Bronya
2022-05-11 10:53:13 +08:00
@Aliberter #30 哈哈哈,我说我看好一会在想这是啥语言,var 关键字还有 C#换行的风格,小驼峰下划线同时用,结果是 java🤣
libook
2022-05-11 10:54:45 +08:00
变量名 is 开头表明是布尔型,这个感觉是加分项;
驼峰+大小写取决于项目整体命名规则;
用英文还是英文拼音混合看团队约定。

else if 后面没有 else 处理异常情况,或者没有双 false 的处理情况,比如 operateName 既不是 bangDing 又不是 shuaXin 是否需要处理。

因为 operateName 只能有一个确定的值,虽然不一定 bangDing 或 shuaXin ,所以给两个变量赋值的部分应该是可以简化的。

下面 if 判断 true 的情况,可以直接判断变量,不需要再写“== true”。

要不要把两个变量直接省略,然后把两个 equalsIgnoreCase 直接放到最下面 if 条件里,取决于下文是否还会用到这两个 equalsIgnoreCase 结果,当然 if 条件太长可读性也未必好。
laucenmi
2022-05-11 10:57:58 +08:00
又不是不能用 /狗头
cheese
2022-05-11 11:01:13 +08:00
@glaucus #38 这是 java ,js 没有 equalsIgnoreCase 方法
huntagain2008
2022-05-11 11:04:42 +08:00
#2 小白反正看了几分钟硬是没看懂代码的意思,但是看了楼主的代码 2 秒就明白了意思。
Leviathann
2022-05-11 11:08:25 +08:00
@anonydmer 那也应该是
var isOperate_ShuaXin = isOperate_BangDing ? false : "shuaXin".equalsIgnoreCase(operateName)
anonydmer
2022-05-11 11:09:33 +08:00
非要不考虑上下文只考虑代码行数么?

if (Stream.of("shuaXin", "bangDing").anyMatch(operateName::equalsIgnoreCase)) {}

哦,还要加个 operateName 为空的 guard 语句,两行顶天了。
bestwaytowait
2022-05-11 11:10:01 +08:00
kpi master
fredli
2022-05-11 11:10:41 +08:00
水平很差,看过的代码太少,模仿也不会
acehowxx
2022-05-11 11:20:39 +08:00
只看这 1 几行,我觉得还好吧。最后不用==true 判断,再有就是应该定义个常量进行比较而不该用魔法数。至于变量命名,英文不好没办法啦。
mara1
2022-05-11 11:27:40 +08:00
@Aliberter , C#不背这个锅,事实上在 VS 里写 C#,各种 resharper 之类的提示,跟着提示改,好多小毛病都能改掉。
Suddoo
2022-05-11 11:31:33 +08:00
不清楚需求,别乱动屎山,
改完,测试提一个二次引入的 bug ,那就尴尬了
Leonard
2022-05-11 11:32:58 +08:00
为什么英文和拼音混用,驼峰和下划线混用
binux
2022-05-11 11:36:34 +08:00
你们都没写过 switch...case 吗?
Aliberter
2022-05-11 11:39:49 +08:00
@mara1 啊 对不起 没有黑 c#的意思 上边只是陈述下事情
Aliberter
2022-05-11 11:41:16 +08:00
@Suddoo 在屎山上开发也挺难受的
Aliberter
2022-05-11 11:41:40 +08:00
@Leonard 哈哈 挺逗的吧 我也没这么写过
chenmoGnar
2022-05-11 11:47:06 +08:00
把变量定义提前摆出来不是很好的习惯吗,楼主的改进版也仅仅是把定义和计算放在了一起而已;相反我觉得把变量类型声明成 boolean 看着更舒服
sarices
2022-05-11 11:48:07 +08:00
主要是代码风格有问题
kooze
2022-05-11 11:50:12 +08:00
可能按代码量考核绩效吧

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

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

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

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

© 2021 V2EX