|
英文原文:Write Less Code
軟件開發的一個基本事實是:你需要寫代碼。但是一個最大的概念誤區是“寫代碼就是我的工作”。當我開始我的軟件開發者生涯時,我就陷入了這個誤區。代碼是強大的,它能讓你做許多事情,你覺得自己是有效率的,覺得自己完成了工作。然后,這些年來我學到了事情的真實的本質:一個程序員的工作的本質是寫盡可能少的代碼。
不要誤解我的意思。我不是說我們應該把壓縮代碼、以盡量少敲鍵盤為目的,從而讓寫出來的代碼根本無法理解。當你想到,作為一個程序員,你的絕大部分時間將用來維護你寫的可怕的代碼這一事實的時候,你就會覺得“寫更少的代碼,不要讓自己寫的代碼給自己更來更大的工作量”這一原則是一個非常不錯的主意。
為什么?
想想你的工作。想想你使用的工具,看看你喜歡用來開發的框架。你做的每件事,你使用的每件工具,都是為了讓你寫更少的代碼。你的工具能讓你犯更少的錯誤,并且把那些可能會給你帶來麻煩的底層細節都抽象出來。
那么,為什么你需要寫更少的代碼?前文中我說:你的工作就是寫更少的代碼。其實我沒有說出真相。你的真正的工作是思考。你的工作是思考要解決的問題,設計一個優雅的解決方案,然后把這個方案變成軟件。而開發軟體的一個副產品是,你需要通過寫代碼來解決問題。
代碼是副產品
代碼并沒有那樣重要。之所以我們喜歡讓自己那樣認為,是因為當我們開始干活、把解決方案變成代碼時,寫代碼看來就好像既是手段,又是目的。我們談論自己使用的編輯器,談論我們使用的編程語言和我們的編程環境。我這樣做過,你這樣做過,我們都這樣做過。誠然,享受你的工作帶給你的快樂是無可厚非的,但是你要意識到:代碼是很棒的,但它同樣是你的敵人:寫代碼花掉你大量的時間,它可能有各種bug,它可能很難理解,或者不夠魯棒。
這就是我為什么堅持“寫更少的代碼”的原因。當我覺得一些東西變得超出需要的煩瑣、或者比它原本的樣子更復雜時,我告訴自己“寫更少的代碼”。當我寫了太多的代碼以至于很難在上下文中理解它們時,我就重構,清理,堅持想著“寫更少的代碼”。
雖然讓我很痛苦,但不得不說:有時寫大量的代碼是無法避免的。但是,當你不能保持簡潔(concise)時,保持清晰(clear)。“寫更少的代碼”是就寫干凈(clean)的代碼,寫清晰(clear)的代碼。當你寫的代碼足夠簡練時,你的程序的目的就變得更加清楚。
那么,這一課的經驗是什么呢?我認為最重要的是“代碼只是一個副產品”,它是你在你工作的過程中不可避免要創造出來的東西。因此,多思考,多重構,去除一些老舊的代碼,寫更少的新的代碼,給自己一個機會,從今天開始。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。