助你成長爲優秀的程序員 傑出的軟件工程師、設計師、分析師和架構師

本文轉自 http://blog.csdn.net/xabcdjon/article/details/6707050


作者:Jon Ji 2011/8/20

編碼規範往往只是對具體編程的格式及細節要求進行規定,但對於提高軟件人員編程能力而言,編程規則更具有價值,下面將我的一些觀點和想法提出來供大家參考,也希望大家批評指正,謝謝!


1 概述

編程是一個軟件工作者的基本能力,怎樣能夠成爲一個優秀的軟件工程師,怎樣編寫出優雅的程序,漂亮、完美地解決問題,實現需求,將是每一個軟件人員永遠的追求。

程序員都希望自己將來成爲設計師、架構師,但小可比大、大可比小,局部的小程序設計不好,就奢談架構設計了,相反如果你程序設計的非常清晰、結構優美,你離架構師也就不遠了。因此請你胸懷遠大目標,從眼下做起吧!

本文試圖指導你實現這樣的夙願,使你在編程的過程中逐步成長、成熟,成爲一個優秀的軟件工程師。

本文即不是具體的軟件編程規範(具體的軟件編程規範亦是基於此文的基本規則制定),也不是軟件架構及設計指導書,它介於具體編程與系統架構之間,雖不明確細節,但注重編程的基本原則和規程,不限於語言(儘管示例採用java),可適用於任何面向對象的編程,其中大部分規則亦適用於非OO編程。

要求所有軟件開發人員必須認真、反覆閱讀此文,深刻體會每一個規則的內涵和外延,並在開發過程中認真貫徹、深入實踐,做到:

知行合一,努力實踐,勇於重構,追求完美。

代碼是程序員的臉面,代碼是程序員的作品,代碼是程序員的榮譽,代碼是程序員的信用,優秀的軟件工作者,首先必須是一名優秀的程序員。

你努力搞懂這些規則,並運用這些規則,他將幫你成就優秀。

本文只是簡略地敘述這些規則,爲了切實地弄清楚它們的真實意義,你不僅需要實踐,還需要通過其他方式去學習體會,例如學習相關書籍豐富知識面,請教、交流都是輔助手段。

編程是一門實踐科學,你需要實踐-學習-總結-提高,再實踐-再學習-再總結-再提高,這是一條唯一的成功之路。

編程是一種創造性工作,能夠滿足你創造的願望,讓你的靈感放出燦爛的光芒,讓你的思想和創意能夠落地生花,令你在工作中收穫成功和快樂。

編程是門藝術,它能夠展示結構之美、構造之美、表達之美,能夠給作者和讀者帶來喜悅、舒暢、優雅等高層次的精神享受,它有時像優美的詩歌,有時像設計精妙、蘊含人類智慧的精密裝置,給人帶來深層次的觸動和愉悅。

讓我們用輕鬆、愉快、期盼的心情馳騁在編程的道路上吧,祝願你一路收穫成就、收穫喜悅、收穫健康;更希望你的作品能夠爲他人帶來快樂。

 

1.1 大處着眼,小處着手

每件小事都值得我們努力去做,皮爾·卡丹曾經對他的員工說過:“如果你能真正地釘好一枚鈕釦,這比你縫出一件粗製的衣服更有價值。”從事不起眼的工作,其實正是大事業的開始,能否有這樣的理念,意味着一個人能否有長足的發展。

一個程序員怎樣能夠成長爲架構師,首先他必須是一個優秀的程序員,他能夠寫出結構優美、表達簡潔清晰的代碼,小可比大、大可比小,他纔有能力對大系統進行架構的合理設計。

大處着眼、小處着手,精益求精、追求完美是優秀的軟件工作者的成功之路。大處着眼要求你要有整體思想、形象思維、胸懷全局,小處着手要求你認真對待每個細節,深刻掌握和靈活運用規則,執行規範,勇於重構,不斷改進,努力寫出好代碼、優秀的代碼、優美的代碼。

樹立你宏遠的目標,但首先認真踏實地做好你身邊的每件事。

1.2 破窗與童子軍軍規

破窗和童子軍軍規的故事你可以其他方式去了解。

我們要求軟件開發過程要避免惡性循環,形成良性循環。在開發過程中要認真貫徹規範,有違犯規則的任何事情發生時必須及時糾正,每個人在創建或維護代碼時都有責任使之更加整潔、清晰,包括對不合理的結構進行梳理,對不恰當的命名進行重構,職責不單一(臃腫)的類或方法進行分解,對代碼中稀奇古怪的“魔法數字”進行治理。

爲什麼提軍規呢,因爲軍隊最講團隊精神,代碼不僅是程序員個人的臉面,同時它更代表一個組織的品質,每個人都要爲這個品質的提高和榮譽努力,在軟件系統中短板效應非常明顯,一個Bug可以使整個系統坍塌,所以記住童子軍軍規,記住我們是一個整體。

破窗是說一件很小壞事兒,如果不加控制的話,也會演變成嚴重的事件。

童子軍軍規中有條規定,當你離開一個地方的時候,要讓它比你來的時候更整潔乾淨。這樣的話,童子軍紮營的地方會越來越乾淨。當程序員開發或維護一組代碼時,如果他能夠使代碼更加清楚整潔,那麼軟件系統就會越來越結構優美了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章