![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
列管會員
![]() ![]() |
![]() 在大陸有看到有人發了一個問題,是《程序员有哪些借口可以让自己写出低质量的代码?》。
這個問題乍看之下很詭異,為什麼要特別寫出品質不好的程式呢?其實,雖然在大部分的情況下,我們都希望可以寫出良好、易讀、好維護的程式碼,但是在某些情況下,「程式碼混淆」是有必要性的;這種狀況,通常會發生在必須要把原始碼交出去、但是又不希望被輕易地理解、修改。 為了這類的需求,除了有人專門寫了「如何寫出無法維護的程式碼」這樣的文章(請參考《如何写出无法维护的代码》或《如何撰寫難以維護的程式碼》,有機會 Heresy 也想自己整理一下 );在國際上甚至還有「國際 C 語言程式碼混淆大賽」這種東西呢! 不過回到重點,Heresy 為什麼特別寫這篇呢?那是因為這篇問題的其中一篇回應,實在寫得太讚…完全了描述一個功力很好的程式開發者,是怎麼在離職的時候,毀掉一家公司的! 下面就是這個回應,Heresy 主要是繁體化、再改一些用語、以及排版: 我很久很久以前,曾經經歷過一個特別白癡的公司,人力資源部門和 SVN 管理人員完全不懂程式。 作為 service 的主要程式,一直一來都是在追求程式碼精簡、效率最好、沒有冗餘的。 突然我無意中發現了一個秘密,我的績效居然不如幾個公司剛找來的新手。 我每天刻苦努力、最佳化程式碼、讓公司的服務端 7 * 24 穩穩地跑在伺服器上,還一心研究各種在線切換(hot-swap),換來的績效考核好久沒有優秀了。 這究竟是為什麼呢?後來好心人告訴我,人力資源部門說了,他們看了 SVN 的日誌紀錄,發現其他人工作很努力、每天都提交了很多程式碼、每天都撰寫很多很多程式碼的檔案、貢獻了好多好多的勞動成果。 而看看你這個號稱技術排第一的傢伙,根本就沒幹活嘛!三個月下來,你一共就寫了這十來個 .cpp 和 .h,每天改來改去就這麼幾個檔案,還好幾天在差不多的行數改來改去,根本就是一直在偷懶。 我聽完以後,直接口吐鮮血、無語至極了。 然後,我就申請離職了。在那個公司剩下不多的日子裡,我為了心安理得地拿最後兩個月的工資,為了讓老闆知道其實我一直很努力,我在最後一個月更新了幾千個檔案、讓 service 的核心穩定性降低了好幾個檔次,記憶體使用上漲了好多個數量級;並且把易讀、容易後續擴展的部分,全部用 C++ 最高級的的模板進行擴展,同時刪掉了我以前整理編寫的最佳化程式碼。 恩,我想以後這個公司應該會倒閉,我走了以後,再也沒有人能維護這份程式碼了;估計三個月後,我自己也搞不定了。 然後我就離職了。離職前老闆還大誇我厚道,最後一個月還幫公司做了這麼多事;別人走都是刪程式,我居然毫無保留地未公司做出貢獻。 然後我走了不到半年、公司就倒閉了。 我想那是我此生唯一寫垃圾程式碼寫得心安理得的一次機會了。 基本上,這讓 Heresy 想到比爾蓋茲的這句話(參考): 用程式碼行數來衡量進度,就像用重量來評估飛機的建造進度一樣。 Measuring programming progress by lines of code is like measuring aircraft building progress by weight. 但是很遺憾的,現在似乎還有不少地方是這樣看成果的啊…而對這種人,最好、也最惡劣的對應方法,大概就是像這樣,送他一堆看似有用、實際上是垃圾的程式了吧… 以上來自:https://kheresy.wordpress.com/2014/0...5%8A%EF%BD%9E/ |
![]() |
送花文章: 56979,
![]() |
有 2 位會員向 lutunhsiang 送花:
|