程序員,特別是一個新手程序員而言,工作的壓力會讓你整天灰頭土臉,了解一些實用的小技巧,積極的去面對漫長的程序員生涯。
leader問任務時間,若答不上來,可能是任務拆分還不夠細。寧可多算一周,不可少估一天。過于“樂觀”容易讓boss受驚嚇。最有用的語言是English。其次的可能是Python。百聞不如一見。畫出結果,一目了然。調試耗時將大大縮短。重構是程序員的主力技能,工作日志能提升腦容量,先用profiler調查,才有單元測試總是合算的。不要先寫框架再寫實現。最好反過來,從原型中提煉框架。代碼結構清晰,其它問題都不算事兒。
編程之事,隔離是方向,起名是關鍵,測試是主角,調試是補充,版本控制是后悔藥。一行代碼一個兵。形成建制才能有戰斗力。單位規模不宜過大,千人班,萬人排易成萬人坑。重構/優化/修復Bug,同時只能作一件。簡單模塊注意封裝,復雜模塊注意分層。
人腦性能有限,整潔勝于雜亂。讀不懂的代碼,嘗試整理下格式; 不好用的接口,嘗試重新封裝下。迭代速度決定工作強度。想多快好省,就從簡化開發流程,加快迭代速度開始。
好的項目作風硬派,一鍵測試,一鍵發布,一鍵部署; 爛的項目生性猥瑣,口口相傳,不立文字,神神秘秘。編碼不要畏懼變化,要擁抱變化。常充電。程序員只有一種死法:土死的。
忘掉優化寫代碼。過早優化等同惡意破壞;忘掉代碼作優化。優化要基于性能測試,而不是糾結于字里行間。最好的工具是紙筆;其次好的是markdown。
與主流意見/方法/風格/習慣相悖時,先檢討自己最可靠。出現bug主動查,不管是不是你的。這能讓你業務能力猛漲、個人形象飆升; 如果你的bug被別人揪出來.....呵呵,那你會很被動不知怎么選技術書時就挑薄的。起碼不會太貴,且你能看完。
資源、代碼應一道受版本管理。資源匹配錯誤遠比代碼匹配錯誤更難排查。不要基于想象開發, 要基于原型開發。原型的價值是快速驗證想法,幫大家節省時間。
東西交付之前偷偷測試一遍, 問別人之前偷偷谷歌一下,版本發布之前反復檢查七八遍,用check-list, 用谷歌,用英文搜索。
做十件事不如做好一件事,奪取話語權只有一條路徑,就是超出別人的預期,心要皮實,但話語和臉皮要柔軟,記住有句老話叫,伸手不打笑臉人。 先假裝你就是專家,慢慢為了裝得像,不得不去學,假的就成真了。
序列化首選明文文本 。諸如二進制、混淆、加密、壓縮等等有需要時再加。編譯器永遠比你懂微觀優化。只能向它不擅長的方向努力。不要定過大、過遠、過細的計劃。即使定了也沒有用。至少半數時間將花在集成上。時間,時間,時間總是不夠。
git是最棒的。簡單,可靠,免費。僅對“可預測的非理性”拋斷言。Log要寫時間與分類。并且要能重定向輸出。注釋是稍差的文檔。更好的是清晰的命名。讓代碼講自己的故事。造輪子是很好的鍛煉方法。前提是你見過別的輪子。
code review最好以小組/結對的形式。對業務有一定了解,建議會更有價值(但不絕對)。而且不會成為負擔。管理員個人review則很容易成team的瓶頸。提問前先做調研。問不到點上既被鄙視,又浪費自己的時間。永遠別小看程序媛
新手程序員和經驗豐富的程序員的一個很大區別來自于debug的能力。在設計和建設網站時不能只知道表面的,卻不知深層次的問題,程序員必須了解的更深,明白的更多,才能從新手變為大神。
本文地址:http://123beaconmarketing.com//article/2378.html