一個人開發一個項目時怎么糾錯
我曾經有一年一個人開發一個富客戶端App,目前它已經在盈利了。但我記得在剛開始的時候我的技能就像生銹的鈍刀,主要是因為代碼的問題,而這里我們僅僅討論代碼的問題,架構、結構以及交互的問題我們暫且都放一邊。
當時我在這個項目上花了太多的時間,以至于很難抽出身來思考這個問題——從另一個角度來看深埋在地下的設計缺陷。所以我的問題就是我怎樣走出自己的局限,以新的的方式看待并讓它變得更好?我的幾個朋友給了我下面幾個建議:
一. 學習新語言或者程序庫
- 找到一個有類似技術問題的人,然后跟他聊聊,個人開發者團隊用這個辦法是很有效的。
- 先做下別的項目,也許一周過后你突然有了什么新點子。
- 查看相似的項目或者產品,比如存在的開源產品,但不要直接復制人家的代碼。
- 學習一種新語言、程序庫或者框架,這些技術也許會讓你輕易洞察出你有困難的問題,然后找到解決辦法。
- 讀一本好的設計或者語言/架構方面的書。
二. 大聲地把代碼讀出來
坐下來對一段代碼、一個模塊、一個特性自己大聲地朗讀和解讀,當你發現你自己說的聽起來有問題、很蠢,就把它記下來然后想辦法去解決。
三. 縮小范圍再找bug
看看你經常修改的源代碼控制文件,哪一部分代碼是最難處理的,哪一部分代碼產生了最多的bug, 哪種類型的變化會引起整個代碼的連鎖反應,一旦縮小了范圍,你開始尋找那里為什么會出問題,然后可以看一些系統的分類設計問題的書,比如 Martin Fowler的Refactoring, Herb Sutter的C++ Coding Standards, Robert Martin的Clean Code 等。
當然如果別人能幫你看下代碼更好,但總不如你自己想來的有用,因為你比任何人都知道它的問題可能出現在哪里。
四. 跟用戶們交流一下
跟用戶們交流一下,然后看他們覺得哪里有問題,不管是UX還是速度問題,然后想著怎么讓這個系統更流暢,不管是API還是其他的測試驅動開發,很多時候,你會發現只用把這些API放進代碼,不用做很大的轉變。
Via arstechnica