Fw: [翻譯] 哪七個錯誤是程式設計中絕對不該犯的?

看板Soft_Job作者 (Henry)時間7年前 (2018/07/01 13:29), 7年前編輯推噓50(50026)
留言76則, 56人參與, 7年前最新討論串1/1
一個 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://www.ptt.cc/bbs/Translate-CS/M.1530422661.A.1F7.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: changyuheng (172.248.183.10), 07/01/2018 13:29:21

07/01 13:49, 7年前 , 1F
怎看起來大學生會問的問題
07/01 13:49, 1F

07/01 13:50, 7年前 , 2F
一堆老人自己不會用自動排版
07/01 13:50, 2F

07/01 13:50, 7年前 , 3F
叫新人一定要轉空白或是tab
07/01 13:50, 3F

07/01 13:51, 7年前 , 4F
比大學生都還不如
07/01 13:51, 4F

07/01 13:51, 7年前 , 5F
搞笑文
07/01 13:51, 5F

07/01 13:55, 7年前 , 6F
這篇很專業啊.. 寫的人一定是老司機了..
07/01 13:55, 6F

07/01 14:04, 7年前 , 7F
資質愚鈍 看不懂... 哪有7個? 好幾個根本是對立的思考
07/01 14:04, 7F

07/01 14:04, 7年前 , 8F
所以他到底想訴求的是?
07/01 14:04, 8F

07/01 14:06, 7年前 , 9F
就是看情況而已啊 這些做法想法沒有絕對對錯但不知
07/01 14:06, 9F

07/01 14:06, 7年前 , 10F
好無聊
07/01 14:06, 10F

07/01 14:06, 7年前 , 11F
道某些人在堅持什麼
07/01 14:06, 11F

07/01 14:10, 7年前 , 12F
9 看完這篇文章
07/01 14:10, 12F

07/01 14:17, 7年前 , 13F
這反諷啦 反諷那些會吵這個話題的的人
07/01 14:17, 13F

07/01 14:18, 7年前 , 14F
藉由前七個都不重要 第八個才是真正的致命錯誤 來反諷吵
07/01 14:18, 14F

07/01 14:18, 7年前 , 15F
要不要用IDE的人
07/01 14:18, 15F

07/01 14:21, 7年前 , 16F
1 2 不衝突阿 就是叫你用using space的Tab縮排
07/01 14:21, 16F

07/01 14:23, 7年前 , 17F
看完前幾個就該知道這篇的重點不是在真的再說有哪些錯該
07/01 14:23, 17F

07/01 14:24, 7年前 , 18F
避免了吧 ~
07/01 14:24, 18F

07/01 14:25, 7年前 , 19F
超好笑
07/01 14:25, 19F

07/01 14:26, 7年前 , 20F
笑了 XDDDD
07/01 14:26, 20F

07/01 14:43, 7年前 , 21F
說得一嘴好code
07/01 14:43, 21F

07/01 14:57, 7年前 , 22F
就是怎樣都能嘴的概念嗎?0.0
07/01 14:57, 22F

07/01 15:16, 7年前 , 23F
前七個是信仰戰爭,第八個才是認真的www
07/01 15:16, 23F

07/01 15:29, 7年前 , 24F
到處都是宗教戰爭XDD
07/01 15:29, 24F

07/01 15:50, 7年前 , 25F
9 看完這篇文章
07/01 15:50, 25F

07/01 15:52, 7年前 , 26F
笑死 XD
07/01 15:52, 26F

07/01 15:55, 7年前 , 27F
高級反串,讚
07/01 15:55, 27F

07/01 15:55, 7年前 , 28F
我的tab改成四個空白了呢
07/01 15:55, 28F

07/01 15:56, 7年前 , 29F
第八個XD有後勁,標題說7個,文章有八個
07/01 15:56, 29F

07/01 16:07, 7年前 , 30F
就四大天王有五個人的概念阿
07/01 16:07, 30F

07/01 16:40, 7年前 , 31F
因為存取超過範圍的記憶體所以有八個啊XDDD
07/01 16:40, 31F

07/01 16:51, 7年前 , 32F
怎麼這麼有梗www
07/01 16:51, 32F

07/01 16:58, 7年前 , 33F
原來這一切都有這麼深的涵義XDD
07/01 16:58, 33F

07/01 17:01, 7年前 , 34F
8超好笑wwwwww
07/01 17:01, 34F

07/01 18:07, 7年前 , 35F
超有梗
07/01 18:07, 35F

07/01 18:21, 7年前 , 36F
8不錯XD
07/01 18:21, 36F

07/01 18:26, 7年前 , 37F
什麼都比不上最後一點啦
07/01 18:26, 37F

07/01 18:26, 7年前 , 38F
搭配原文跟標題,超好笑
07/01 18:26, 38F

07/01 18:40, 7年前 , 39F
XDDDDDDDDDD
07/01 18:40, 39F

07/01 19:02, 7年前 , 40F
沒梗
07/01 19:02, 40F

07/01 19:23, 7年前 , 41F
笑死XDDD
07/01 19:23, 41F

07/01 19:50, 7年前 , 42F
我喜歡這篇,尤其是8 XD
07/01 19:50, 42F

07/01 19:55, 7年前 , 43F
純推12 XDDDD
07/01 19:55, 43F

07/01 20:18, 7年前 , 44F
GNU 是混合體,縮排一次兩空格,八空格要轉 tab
07/01 20:18, 44F

07/01 20:19, 7年前 , 45F
8 坦白說 C 很多 trick 會用到,除了負陣列索引以外,
07/01 20:19, 45F

07/01 20:19, 7年前 , 46F
也會故意把一個小陣列放在 struct 最後,然後用 malloc()
07/01 20:19, 46F

07/01 20:20, 7年前 , 47F
要求一塊比 struct 還要大的記憶體,當成可變大小結構。
07/01 20:20, 47F

07/01 20:21, 7年前 , 48F
後來乾脆 C99 新增一個 flexible array member
07/01 20:21, 48F

07/01 20:38, 7年前 , 49F
使用什麼縮我覺得是假議題 縮排是為了可讀性
07/01 20:38, 49F

07/01 20:39, 7年前 , 50F
給IDE做初步排版 接下來用tab+空白做對齊都沒問題
07/01 20:39, 50F

07/01 20:55, 7年前 , 51F
因為不同的IDE,tab顯示起來會不一樣,所以才改4空白
07/01 20:55, 51F

07/01 21:04, 7年前 , 52F
XDDDDDD
07/01 21:04, 52F

07/01 21:25, 7年前 , 53F
第8個很壞
07/01 21:25, 53F

07/01 23:15, 7年前 , 54F
1 2沒衝突沒錯 Python PEP8推薦使用四個空白做indentat
07/01 23:15, 54F

07/01 23:15, 7年前 , 55F
ion
07/01 23:15, 55F

07/02 01:24, 7年前 , 56F
重點在問七個講八個阿XD
07/02 01:24, 56F

07/02 09:17, 7年前 , 57F
這應該改叫程式設計師絕不要碰的問題XD
07/02 09:17, 57F

07/02 09:34, 7年前 , 58F
看懂了XD 第8個是哪個意思啊
07/02 09:34, 58F

07/02 10:10, 7年前 , 59F
四天王有五個 七大罪有八個 然後就error了
07/02 10:10, 59F

07/02 11:45, 7年前 , 60F
看到1就直接END 用tab根本邪道
07/02 11:45, 60F

07/02 11:48, 7年前 , 61F
看到推文再回頭看..這作者真是行XDDD
07/02 11:48, 61F

07/02 11:50, 7年前 , 62F
正解
07/02 11:50, 62F

07/02 11:55, 7年前 , 63F
8不錯XDDD
07/02 11:55, 63F

07/02 12:11, 7年前 , 64F
原來8是這個梗喔XDDDD
07/02 12:11, 64F

07/02 12:58, 7年前 , 65F
看懂8了XDDD
07/02 12:58, 65F

07/02 13:37, 7年前 , 66F
有梗推
07/02 13:37, 66F

07/02 14:10, 7年前 , 67F
超出記憶體XD
07/02 14:10, 67F

07/02 22:08, 7年前 , 68F
看了三遍突然看懂 8. 推
07/02 22:08, 68F

07/02 22:45, 7年前 , 69F
看了兩邊才終於領悟8.
07/02 22:45, 69F

07/03 00:15, 7年前 , 70F
8 就是故意超過 7 的啊
07/03 00:15, 70F

07/03 09:08, 7年前 , 71F
1、2就是不要tab跟空白混用阿
07/03 09:08, 71F

07/04 00:01, 7年前 , 72F
8 很故意 wwww 不過不是應該要 0 開始嘛 (?
07/04 00:01, 72F

07/05 09:15, 7年前 , 73F
本題最後輸出只剩下一行, 記憶體區段錯誤!
07/05 09:15, 73F
※ 編輯: changyuheng (172.248.183.10), 07/05/2018 09:27:56

07/06 10:29, 7年前 , 74F
這篇實在太受用了 給推
07/06 10:29, 74F

07/08 15:54, 7年前 , 75F
有梗
07/08 15:54, 75F

07/09 20:10, 7年前 , 76F
看到1跟2就笑了
07/09 20:10, 76F
文章代碼(AID): #1RE6QpeK (Soft_Job)