weiter 发表于 2020-3-13 16:38:00

转载文章:做一个糟糕码农的21种方法 (反面教材)【第一弹】

本帖最后由 weiter 于 2020-3-15 10:51 编辑

由于原文链接已经失效,找不到原文,并且所找到被翻译者翻译过的帖子很不负责任的用了机翻!{:10_285:}
所以本帖会进行在机翻之后文章的修改,并附带个人见解一共21种方法,每7个方法作为一弹。
本帖作为反面教材,请勿模仿。



1.不要格式化您的代码
**** Hidden Message *****

解析:
这是一种作死行为,身为一个刚入门的编程小白,在小甲鱼老师的教导下知道:
一个正常的编码人员,一定要学会写注释!
不写注释的后果有很多,比如遇到bug找不到问题代码,敲代码敲的多了到了百行以上的时候不写注释很容易忘记自己写这代码是干嘛的,误删了就。。。{:10_285:}



2.使用无意义的变量和方法名称
有意义的变量名只会使代码更易于理解。
如果您想变得蹩脚,请为变量名使用单个字母。
如果您用完了这些,请使用诸如MsgNand FuncMan之类的简短而毫无意义的缩写。
我最喜欢的时间之一是DoStuff方法名称。

解析:
这个操作相信很多新手都有这个习惯,大部分是图方便,还有一些是从教学视频里学来的。
但是教学视频中会使用类似a、b、c这一类变量名都是为了教的快,节省学生的时间。
作为新手,我也有类似的习惯,不过最近改了。
因为这个操作实在是骚。如果用的多了,自己不知道某一个变量是什么意思,队友也看不懂就会极大程度的降低工作效率。
所以并不建议这么做。建议多积累英文单词,用一些英文单词来做变量名。正常的英文单词!不要类似示例里的那种!!!{:10_244:}


3.不要编写代码测试
没有什么比拒绝编写单元测试更能说明"我编写糟糕的代码"了。
它的美丽之处在于,随着时间的推移,您的代码会变得越来越糟糕,因为缺乏测试会使更多的错误逐渐被发现。

解析:
很明显,又是一个作死行为。
不过作为新手,不会写代码测试还算正常,但是如果是写一些代码量比较长的程序的话。。。
还是写一下的好,因为这样可以在运行未成形代码的同时通过加上的测试代码更加快捷的找到报错位置。
不写的话,,,就如上文所说,bug越来越多,最后变成“凉屋工作室”{:10_324:}


4.尽可能将事物耦合在一起
将您的代码紧密耦合在一起会带来各种奇妙的失败。
首先,它使您的代码会很难更改和更新。
其次,它使测试和调试变得非常有趣,因为在应用程序的一部分中进行更改,会导致各种奇葩的bug出现在代码的任何位置。
还有什么比这更糟糕的呢?

解析:
这个就更作了,越复杂的东西越容易出错。
把代码按照功能分布分门别类的写,再加上那么点注释调一下味,这样写出来的代码难道就不香吗?
非要把一段好好的代码做成一道黑暗料理,合适吗。。。{:10_245:}


5.编写巨大的方法
这是我的最爱之一。
确保您具有执行各种不同操作的方法。
深度嵌入许多if语句可赚取积分。
几乎没有什么比"多次单击Page Down"按钮来查看"整个方法"更能喊出"这真是糟糕的代码了"。

解析:
这一段被机翻破坏的比较难以识别,大概能读懂就好。
反正这种操作是很要命的。
在看一段特别长,然而却又是用来执行同一个功能的代码无疑是一种折磨。
被代码的海洋淹没,如果逻辑思维不好你就会直接崩溃掉。
但是应对某些必不可少而又非常长的“方法”,可以通过加注释帮助你的大脑理清楚思路。
可以一定程度上避免大脑超负荷运转导致的死亡风险。。。{:10_292:}


6.写很多神的类
完全忽略代码中的"单一责任原则"会给您带来很多麻烦。
当您可以更轻松地将方法添加到现有类中时,为什么将功能隔离到离散类中?
让类承担多重责任可能会导致恶作剧。


解析:
不得不承认,这一段也被机翻严重破坏,我都有点不太理解(也可能是专业名词我不懂)。
但是最近我看到一个程序员在今日头条发表帖子吐槽了这样的操作。
这样的操作让人深受其害,一个很长————————————————————————————————————————————————————————————————————的类,会和第五条有类似的尴尬。加上注释也只能抵挡一些不算特别变态的类。
但是。。。
哎,说多了都是类啊
皮一下,回到正题。{:10_297:}


7.完全不使用抽象
硬编码所有内容。
尽可能利用实现。
忽略强大的语言功能,例如抽象类和接口。
这些事情只会使您的代码更易于维护,而Crappy Coder并不需要这样做,出于善意。

解析:
这一段我是真没看懂,不过为了方便维护代码,还是使用一些抽象吧。。。{:10_284:}


本帖更新进度■■■■■■■
全文更新进度■■■

阅读进度■□□

【第二弹】传送门

weiter 发表于 2020-3-13 16:38:48

沙发

永恒的蓝色梦想 发表于 2020-3-13 16:48:14

Kankan
我竟然是前排?!

weiter 发表于 2020-3-13 16:58:34

永恒的蓝色梦想 发表于 2020-3-13 16:48
Kankan
我竟然是前排?!

本文未完成还有好几条错误方法呢,{:10_250:}

weiter 发表于 2020-3-13 17:01:04

永恒的蓝色梦想 发表于 2020-3-13 16:48
Kankan
我竟然是前排?!

谢谢支持{:10_278:}

一个账号 发表于 2020-3-13 17:54:01

支持作者!

Pythonnewers 发表于 2020-3-13 19:49:02

忘不掉小甲鱼的那句dict读成dic,。,。,k,我甚至还上网查了一下...

Cool_Breeze 发表于 2020-3-13 21:01:05

6666666666666

weiter 发表于 2020-3-14 13:57:15

【第一弹】已完结,敬请期待【第二弹】

不二如是 发表于 2020-3-14 15:33:55

请将后续文章,发到吹水阁/脑高潮

weiter 发表于 2020-3-14 15:34:46

不二如是 发表于 2020-3-14 15:33
请将后续文章,发到吹水阁/脑高潮

第二弹已经发到web开发了。。。

不二如是 发表于 2020-3-14 15:35:09

weiter 发表于 2020-3-14 15:34
第二弹已经发到web开发了。。。

我已经将现有的移动过去了哈

weiter 发表于 2020-3-14 15:35:51

不二如是 发表于 2020-3-14 15:35
我已经将现有的移动过去了哈

好的,谢谢大佬{:10_278:}

weiter 发表于 2020-3-15 18:04:54


为什么【第三弹】相当火爆然而【第二弹】、【第一弹】却很冷清?
页: [1]
查看完整版本: 转载文章:做一个糟糕码农的21种方法 (反面教材)【第一弹】