作者changyuheng (Henry)
看板Soft_Job
标题Fw: [翻译] 哪七个错误是程式设计中绝对不该犯的?
时间Sun Jul 1 13:29:21 2018
一个 Quora 上超过九千人 upvote 的问题。
※ [本文转录自 Translate-CS 看板 #1RE6M57t ]
作者: changyuheng (Henry) 看板: Translate-CS
标题: [翻译] 哪七个错误是程式设计中绝对不该犯的?
时间: Sun Jul 1 13:24:08 2018
Web 版:
http://bit.ly/2KvzqOv
Quora 网友提问:哪七个错误是程式设计中绝对不该犯的?
What are the 7 deadly sins of programming?
1. 使用空白符号来缩排。
切记,永远使用 tab 来缩排,绝对不可以用空白!
2. 使用 tab 来缩排。
切记,永远使用空白来缩排,绝对不可以用 tab!
3. 没有使用自动排版功能。
难道你想要继续争辨 tab 好还是空白好这种没营养的问题吗?
别闹了大哥……用自动排版来整理你的程式码好吗!
这样其他人才不用被迫去欣赏你乱放括号、syntax 左右要空不空之类的怪僻。
4. 使用 IDE 那种内建自动缩排、有着精美界面的妖魔鬼怪。
程式当然要用 VI 或是 Emacs 来写啊!这样才能体会最纯粹的程式设计!!
5. 不使用 IDE。
拜托,IDE 里点一个按钮就能完成的事,在纯文字编辑器里你要打多少字才能做到?
更不用说纯文字编辑器里,连上、下卷动萤幕都要靠热键,
而且这功能搞不好还要另外装个什麽 LISP 写的 plugin 才有。
6. 没有好好学 C 和 C++。
这二个语言非常重要,是一切的基础。
不要以为 Java 能拿来相提并论,
不信的话你用 Java 写一个赛车级的 real-time control system 来看看啊!
7. 学习 C 或 C++。
Java 就够用了,居然跑去学 C/C++?
认清事实吧:凡是跟 C 或 C++ 有关的案子,最後都超过 deadline 差不多快五年,
尽管如此还是会有一些棘手的 bug 留下来。
──而这些 bug 在 Java 里想写出来都难。
8. 存取超出阵列所在的记忆体区块。
原文:
http://bit.ly/2tPMrYU
--
https://github.com/changyuheng
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 172.248.183.10
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Translate-CS/M.1530422661.A.1F7.html
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: changyuheng (172.248.183.10), 07/01/2018 13:29:21
1F:推 Sex5F: 怎看起来大学生会问的问题 07/01 13:49
2F:→ Sex5F: 一堆老人自己不会用自动排版 07/01 13:50
3F:→ Sex5F: 叫新人一定要转空白或是tab 07/01 13:50
4F:→ Sex5F: 比大学生都还不如 07/01 13:51
5F:→ stkoso: 搞笑文 07/01 13:51
6F:推 xam: 这篇很专业啊.. 写的人一定是老司机了.. 07/01 13:55
7F:→ x246libra: 资质愚钝 看不懂... 哪有7个? 好几个根本是对立的思考 07/01 14:04
8F:→ x246libra: 所以他到底想诉求的是? 07/01 14:04
9F:推 mercurycgt68: 就是看情况而已啊 这些做法想法没有绝对对错但不知 07/01 14:06
10F:推 CGS0: 好无聊 07/01 14:06
11F:→ mercurycgt68: 道某些人在坚持什麽 07/01 14:06
12F:→ kurtsgm: 9 看完这篇文章 07/01 14:10
13F:推 yamakazi: 这反讽啦 反讽那些会吵这个话题的的人 07/01 14:17
14F:→ yamakazi: 藉由前七个都不重要 第八个才是真正的致命错误 来反讽吵 07/01 14:18
15F:→ yamakazi: 要不要用IDE的人 07/01 14:18
16F:推 k300plus: 1 2 不冲突阿 就是叫你用using space的Tab缩排 07/01 14:21
17F:推 tkigood: 看完前几个就该知道这篇的重点不是在真的再说有哪些错该 07/01 14:23
18F:→ tkigood: 避免了吧 ~ 07/01 14:24
19F:推 bronx0807: 超好笑 07/01 14:25
20F:推 shihyanyu: 笑了 XDDDD 07/01 14:26
21F:推 sarino: 说得一嘴好code 07/01 14:43
22F:推 Arctica: 就是怎样都能嘴的概念吗?0.0 07/01 14:57
23F:推 Chienhua: 前七个是信仰战争,第八个才是认真的www 07/01 15:16
24F:推 wlsh5701: 到处都是宗教战争XDD 07/01 15:29
25F:→ howdou: 9 看完这篇文章 07/01 15:50
26F:推 hyperthread: 笑死 XD 07/01 15:52
27F:推 dsilver: 高级反串,赞 07/01 15:55
28F:推 clamperni: 我的tab改成四个空白了呢 07/01 15:55
29F:→ dsilver: 第八个XD有後劲,标题说7个,文章有八个 07/01 15:56
30F:推 Sirctal: 就四大天王有五个人的概念阿 07/01 16:07
31F:推 bnd0327: 因为存取超过范围的记忆体所以有八个啊XDDD 07/01 16:40
32F:→ keroro01: 怎麽这麽有梗www 07/01 16:51
33F:推 hbkhhhdx2006: 原来这一切都有这麽深的涵义XDD 07/01 16:58
34F:推 chuegou: 8超好笑wwwwww 07/01 17:01
35F:推 windwater77: 超有梗 07/01 18:07
36F:→ DarkIllusion: 8不错XD 07/01 18:21
37F:推 windlll: 什麽都比不上最後一点啦 07/01 18:26
38F:→ windlll: 搭配原文跟标题,超好笑 07/01 18:26
39F:推 Elemath519: XDDDDDDDDDD 07/01 18:40
40F:→ LinuxKernel: 没梗 07/01 19:02
41F:推 clang: 笑死XDDD 07/01 19:23
42F:推 wisehuang: 我喜欢这篇,尤其是8 XD 07/01 19:50
43F:推 jily: 纯推12 XDDDD 07/01 19:55
44F:→ tinlans: GNU 是混合体,缩排一次两空格,八空格要转 tab 07/01 20:18
45F:→ tinlans: 8 坦白说 C 很多 trick 会用到,除了负阵列索引以外, 07/01 20:19
46F:→ tinlans: 也会故意把一个小阵列放在 struct 最後,然後用 malloc() 07/01 20:19
47F:→ tinlans: 要求一块比 struct 还要大的记忆体,当成可变大小结构。 07/01 20:20
48F:→ tinlans: 後来乾脆 C99 新增一个 flexible array member 07/01 20:21
49F:推 Ekmund: 使用什麽缩我觉得是假议题 缩排是为了可读性 07/01 20:38
50F:→ Ekmund: 给IDE做初步排版 接下来用tab+空白做对齐都没问题 07/01 20:39
51F:推 jack0204: 因为不同的IDE,tab显示起来会不一样,所以才改4空白 07/01 20:55
52F:推 mathrew: XDDDDDD 07/01 21:04
53F:推 chocopie: 第8个很坏 07/01 21:25
54F:推 TitanEric: 1 2没冲突没错 Python PEP8推荐使用四个空白做indentat 07/01 23:15
55F:→ TitanEric: ion 07/01 23:15
56F:推 single4565: 重点在问七个讲八个阿XD 07/02 01:24
57F:推 mozume: 这应该改叫程式设计师绝不要碰的问题XD 07/02 09:17
58F:推 cool9203: 看懂了XD 第8个是哪个意思啊 07/02 09:34
59F:推 windwater77: 四天王有五个 七大罪有八个 然後就error了 07/02 10:10
60F:推 eterbless: 看到1就直接END 用tab根本邪道 07/02 11:45
61F:推 eterbless: 看到推文再回头看..这作者真是行XDDD 07/02 11:48
62F:推 stfang925: 正解 07/02 11:50
63F:推 kc: 8不错XDDD 07/02 11:55
64F:→ Ekmund: 原来8是这个梗喔XDDDD 07/02 12:11
65F:推 devilkool: 看懂8了XDDD 07/02 12:58
66F:推 leolarrel: 有梗推 07/02 13:37
67F:推 DCTmaybe: 超出记忆体XD 07/02 14:10
68F:推 ymcheung: 看了三遍突然看懂 8. 推 07/02 22:08
69F:推 FK56: 看了两边才终於领悟8. 07/02 22:45
70F:→ tinlans: 8 就是故意超过 7 的啊 07/03 00:15
71F:推 abc0922001: 1、2就是不要tab跟空白混用阿 07/03 09:08
72F:推 CP64: 8 很故意 wwww 不过不是应该要 0 开始嘛 (? 07/04 00:01
73F:推 shooter555: 本题最後输出只剩下一行, 记忆体区段错误! 07/05 09:15
※ 编辑: changyuheng (172.248.183.10), 07/05/2018 09:27:56
74F:推 usoko: 这篇实在太受用了 给推 07/06 10:29
75F:推 ccicmi: 有梗 07/08 15:54
76F:推 crayon3shawn: 看到1跟2就笑了 07/09 20:10