如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2005年1月3日

如何寫出無法維護的程式 - 基本原則

基本原則General Principles
原作 : How To Write Unmaintainable Code ©1997-2004 Canadian Mind Products
中譯 : Fred F.M. Wang 2005/1/3

Quidquid latine dictum sit, altum sonatur.
Whatever is said in Latin sounds profound.

要搞垮維護程式設計師, 就要先了解他在想什麼. 他有你龐大的程式且他沒有時間全部讀完並了解這些程式. 他要快速的找到他要改的地方, 並確定沒有因為更改而產生額外問題並順利上線
To foil the maintenance programmer, you have to understand how he thinks. He has your giant program. He has no time to read it all, much less understand it. He wants to rapidly find the place to make his change, make it and get out and have no unexpected side effects from the change.

他檢視你的程式猶如看廁所的捲紙筒, 一次只能看到程式的一個小片段. 你要讓他無法得到程式的全貌. 你儘可能的讓他很困難的才可以找到他要找的程式. 更重要的是, 你要讓程式儘可能笨拙的讓他忽略掉一些重要的部分
He views your code through a toilet paper tube. He can only see a tiny piece of your program at a time. You want to make sure he can never get at the big picture from doing that. You want to make it as hard as possible for him to find the code he is looking for. But even more important, you want to make it as awkward as possible for him to safely ignore anything.

程式設計師會習慣於某些設計慣例, 但是你可以在程式每隔一段程式就偷偷的違反這個慣例, 迫使他必須仔細的檢視每一行程式
Programmers are lulled into complacency by conventions. By every once in a while, by subtly violating convention, you force him to read every line of your code with a magnifying glass.

你可以根據不同語言的特性, 洽當的誤用這些特性, 就可以創造出無法維護的程式
You might get the idea that every language feature makes code unmaintainable -- not so, only if properly misused.

譯者註 :
系統開發者往往不能考慮到程式未來的可維護性,導致程式維護成本龐大,製造出更多的問題,而開發專案進行過程往往以結案為第一要務,常常未設定程式設計標準或違反標準或慣例,甚至尚未完全了解程式語言的特性就草草開發,造成錯用,例如Java繼承機制的錯用等。因此程式設計師除了熟悉程式語言外,也要有紀律的遵循程式設計標準或慣例,並研究好的程式設計方法,如Design Patterns, Refactoring等。 (2005/01/03 Fred)

相關文章
如何寫出無法維護的程式- 簡介
如何寫出無法維護的程式- 基本原則
如何寫出無法維護的程式- 命名1-5
如何寫出無法維護的程式- 命名6-10
如何寫出無法維護的程式- 命名11-15
如何寫出無法維護的程式- 命名16-20

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)