- 編程原則:來自代碼大師Max Kanat-Alexander的建議
- (美)馬克斯·卡納特-亞歷山大
- 1230字
- 2021-07-09 20:27:42
第1章 在你開始之前
我研究軟件設計的目標之一,是希望一部分所謂的“糟糕的程序員”或者平庸的程序員,哪怕是在工作經驗有限的情況下,只需要稍加學習,就能華麗變身為優秀甚至偉大的程序員。
我好奇的是:為了幫助他們成為偉大的程序員,哪些基礎知識是必須傳授給他們的?如果某人從事編程工作多年但是依然沒有起色,應該如何幫助他們?他們究竟缺少了什么?這些大致就是我在本書中談論最多的內容,具體在第七部分介紹。
無論如何,在某人開始邁向成為更優秀的軟件開發者的道路之前,有一件事是肯定的:
要成為一名杰出的程序員,你必須首先想要成為一名杰出的程序員。再多的教育培訓也無法使一個不想變得杰出的人成為一名杰出的程序員。
如果你是一個對軟件開發懷有極大熱忱的人,或者哪怕只是熱衷于擅長手頭的工作,那么你可能會對有些人的這種不思進取的心態感到難以理解。想象一下你目前正需要學習某個領域的專業知識,但其實你個人并不想在這個領域內有任何的建樹,從這個角度思考也許能幫助你充分理解這個想法背后的動機。
舉個例子,盡管總的來說我對某些運動員有所崇拜,喜歡踢足球,有時也喜歡看體育比賽,但是我從來不希望自己成為一名偉大的運動員。因為我根本就不想,所以再多的閱讀和訓練也于事無補。我甚至從一開始就不會閱讀這方面的書籍。如果強迫我參加一些課程或者培訓,恐怕我也只會左耳進右耳出,因為我根本沒有了解這些知識的欲望。
哪怕某項運動成了我每天從事的職業,我心里的聲音也會是:“好吧,鑒于我對體育運動沒有絲毫熱情,所以這些所謂能讓我變得更好的知識對我來說一點也不重要。總有一天我會從事其他方面的工作,或者我會在某天退役,然后再也不用去想它們,但在這一切發生之前,我只需要把這份工作完成就好,因為它們帶給我收入并且讓我不用餓肚子。”
很難想象這些就是當你告訴那些“糟糕的程序員”如何把代碼寫好,或者為什么應該把代碼寫好時,他們腦袋里所想的東西。如果他們并不是打心眼里想成為他們能夠成為的最佳程序員,那么無論給予他們多少次培訓、糾正他們多少次錯誤,又或者他們參與了多少次進修學習,他們都不會變得更好。
要做就把它做好
所以你打算怎么做?公平地說,我可能不是提出這個問題的最佳人選,因為如果我要做某件事,我會覺得要做就要盡全力做到最好。所以當下你的最佳選擇也許就是鼓勵人們遵循這個理念。
你可以通過類似于這樣的話術來勸導他們:“如果工作無論如何都得干完,為什么不把它們交付得漂漂亮亮的?專業能力上的提升至少能讓工作做起來更得心應手不是嗎?工作成果能得到他人的賞識不也挺好的嗎?在結束一天的工作回到家后,回味起將任務圓滿完成的成就感也不賴吧?哪怕只有一丁點的進步,你的生活也會比現在更好是不是?至少不會變得更糟吧?”
無論采取什么樣的手段,目的都是為了讓人們更樂于提升自己,這是他們能變得更好的底線和前提。至于你是如何做到的并不重要,只要在你給予他們幫助之前,為他們建立起這方面的意識就好,否則你的苦口婆心只會從他們的左耳進右耳出。
——Max
- JavaScript從入門到精通(微視頻精編版)
- .NET之美:.NET關鍵技術深入解析
- Julia機器學習核心編程:人人可用的高性能科學計算
- 零基礎學MQL:基于EA的自動化交易編程
- 可解釋機器學習:模型、方法與實踐
- 程序設計基礎教程:C語言
- C++新經典
- C++從入門到精通(第5版)
- Mastering Python Design Patterns
- 從零開始:UI圖標設計與制作(第3版)
- PrimeFaces Blueprints
- JavaScript從入門到精通(視頻實戰版)
- PhoneGap 4 Mobile Application Development Cookbook
- 城市信息模型平臺頂層設計與實踐
- Netty 4核心原理與手寫RPC框架實戰