一直聽說這本書是如何如何好的,懷著膜拜的心情快速閱讀了一遍伴榔,感觸較深的幾點(diǎn)記錄一下纹蝴。
一、注重實效的哲學(xué)
學(xué)會問問題
記得有一次踪少,我在一個群里問題塘安,等我把問題所有的描述點(diǎn)都到位后,我自己都發(fā)現(xiàn)問題所在啦援奢,問問題之前一定要認(rèn)真分析自己的問題兼犯,找出關(guān)鍵點(diǎn)。不要容忍破窗戶
一個丟在一旁的車子集漾,一旦有一天有一個窗子壞了切黔,過不了多久,整個車也即將被翻個底朝天具篇。編寫整潔纬霞、設(shè)計良好、優(yōu)雅的代碼誰也不想成為第一個破壞的人驱显。定期為我們的知識資產(chǎn)投資
學(xué)習(xí)新語言险领、閱讀各種書籍、參加不同講座秒紧、分享自己所學(xué)的绢陌,都是很有必要的,另外用于嘗試不同的環(huán)境熔恢。
二脐湾、注重實效的途徑
Don't Repeat Yourself
DIY 原則一直是所公認(rèn)的,但是我目前還是習(xí)慣對于某些需求叙淌,先重復(fù)一段代碼(當(dāng)然不會超過三次)秤掌,然后先實現(xiàn)效果后愁铺,再來進(jìn)行抽離,可能還沒達(dá)到那種程度吧闻鉴,哈哈茵乱。正交性原則
其實可以理解就是高內(nèi)聚低耦合吧,兩條垂直的線孟岛。
a: 讓代碼保持解耦瓶竭,也就是不會沒有必要地向其他模塊暴露任何事情、也不依賴其他模塊的實現(xiàn)的模塊渠羞。
b: 避免使用全局?jǐn)?shù)據(jù)斤贰。
c: 避免使用相似的函數(shù)。可撤銷性原則
沒有什么最終方案次询,靈活多變對于自己的項目荧恍。
三、注重實效的偏執(zhí)
You Can't Write Perfect Software屯吊,確實我們不可能寫出完美的軟件送巡。
錯誤的處理
有時我們不可避免的遇到錯誤,發(fā)現(xiàn) bug 和 解決 bug 未嘗不是我們能力的體現(xiàn)呢盒卸?記住程序是不會說謊的
不要想當(dāng)然的認(rèn)為那樣骗爆,(int) count > 1 就是等于 count == 0 嗎?配平資源
只要是在編程世落,我們都要管理資源:內(nèi)存淮腾、事務(wù)、線程屉佳、文件谷朝、定時器,所有數(shù)量有限的事物武花,我們通常都是 分配它——> 使用它 ——> 移除它圆凰,一定要有始有終。
注意編寫 “ 羞怯” 的代碼:
不要向別人暴露你自己体箕;
不要和太多人打交道专钉。
四、編碼時
算法速率
學(xué)習(xí)算法是必要的累铅,優(yōu)秀的程序員每天都在考慮算法使用的資源: 時間跃须、處理器、內(nèi)存娃兽、等等菇民。工具化
充分利用各種工具,讓自己更有效率,git 第练、Dash阔馋、自動化打包之類的,等等能讓我們效率提高的工具都可以去嘗試使用娇掏。最好有一套自動化流程呕寝。注釋
不要寫沒有用的、不要寫混淆人的婴梧、不要為了偷懶而省略
盡量在做出某些重大決定下梢,替換,重構(gòu)志秃,權(quán)衡時的想法怔球,還是可以自己注釋備忘下的嚼酝,代碼除了運(yùn)行也是給人看的浮还。測試
積極面對測試,可以以測試為導(dǎo)向開發(fā)闽巩,目前像我們 iOS 中钧舌,只有一些大公司寫單元測試的,但是實際上好多第三方的優(yōu)秀開源庫都是 有單元測試的涎跨,所以目前離我們比較近一點(diǎn)的是洼冻,可以嘗試在自己的項目中開始寫單元測試。
五隅很、傲慢與偏見
注重實效的程序員撞牢,不會逃避責(zé)任。相反會樂于接收挑戰(zhàn)叔营,樂于讓我們的專業(yè)只是讓他人知道屋彪。不斷的告訴自己,我們正在做的事情绒尊,正是我們可以引以為豪的事情畜挥!
當(dāng)然也不能只相信自己的代碼,而對其他小伙伴代碼的懷有偏見婴谱,就像不應(yīng)該阻止他人改我們自己的代碼一樣蟹但,應(yīng)該是互相尊重,互相學(xué)習(xí)谭羔,求同存異华糖,大方的接受自己的錯誤。
記住: 這是我編寫的瘟裸,我對自己的工作負(fù)責(zé)!
總的來說客叉,感覺以后的再次拜讀是肯定必要的,經(jīng)典必有其經(jīng)典!工作時間不是很長的我十办,有很多方面體會還不深秀撇,想著有些東西確實和時間相關(guān)的,還是要慢慢來體會向族。