之前做Indie Dev都是自己坑自己,兩三年也沒(méi)坑出來(lái)多少花樣深感慚愧。最近功力大增但不敢獨(dú)享,給大家?guī)?lái)天下碼農(nóng)之《iOS應(yīng)用開(kāi)發(fā)之十大坑隊(duì)友》。博主最近不太會(huì)說(shuō)人話,找到點(diǎn)《大腕》中瘋?cè)嗽旱臓顟B(tài)。小朋友請(qǐng)?jiān)诩议L(zhǎng)指導(dǎo)下選擇性觀看,看完了別忘記微博at我分享心得。
PS: 建議播放音樂(lè)以達(dá)到最佳閱讀效果。
第十名:SCM Attack
適用于使用各種類(lèi)型的SCM,或者干脆不用。以git舉例。只提交編譯錯(cuò)誤的代碼,或者保證App一打開(kāi)就crash,不幫忙改了bug別想繞過(guò)去;不正確設(shè)置gitignore文件,彰顯個(gè)性;每個(gè)commit至少幾十個(gè)文件,突顯代碼量;Log永遠(yuǎn)是瀟灑的bug fix或者fix bug,只可意會(huì)不可言傳;別人用rebase咱就用merge或者反過(guò)來(lái),總之要有自己的特色;喜歡code reivew的速來(lái)接招。
難度指數(shù):6 殺傷指數(shù):6 綜合評(píng)定:6
第九名:Coding Style Attack
此類(lèi)型攻擊覆蓋范圍之廣,無(wú)人出其右。頭文件不寫(xiě)注釋?zhuān)A粢欢延肋h(yuǎn)不會(huì)完成的TODO/FIXME,再穿插著保留600行間歇注釋掉的有模有樣兒的代碼;咱是.NET背景所有property一律get/set整齊劃一;偶爾再來(lái)個(gè)downloadFile/downloadFile2這樣寫(xiě)意的命名,一細(xì)看還真的不一樣兒;每行代碼都寫(xiě)幾個(gè)magic number除了你沒(méi)人懂什么意思;代碼風(fēng)格的辨識(shí)度高,以至于blame view都是多余的。
難度指數(shù):6 殺傷指數(shù):7 綜合評(píng)定:6.5
第八名:Multi Threading Attack
本著不過(guò)度優(yōu)化的原則將運(yùn)算塞滿主線程,反正負(fù)責(zé)優(yōu)化的多數(shù)不是自己;各種Mutable對(duì)象線程間傳來(lái)傳去,for循環(huán)中改改更健康;sleep/dispatch_after活學(xué)活用問(wèn)題搞不定全靠它;單件就有5種寫(xiě)法完爆茴字(老板來(lái)壺黃酒)。
難度指數(shù):6 殺傷指數(shù):8 綜合評(píng)定:7
第七名:Header Attack
Coding Style Attack的進(jìn)化;500行的header如家常便飯,管它private還是public的直接往這里扔;除了沒(méi)注釋還不提供初始化方法,暴露幾十個(gè)property,其中的5個(gè)要是特定值某個(gè)無(wú)參方法就沒(méi)法工作;最后再把一堆有關(guān)無(wú)關(guān)的header都往Prefix.pch里扔,編譯時(shí)咱就拼硬件。
難度指數(shù):7 殺傷指數(shù):8 綜合評(píng)定:7.5
第六名:OO Attack
此門(mén)技藝博大精深,屬無(wú)招勝有招的范疇;能繼承就不用組合,繼承層次小于3層出門(mén)不好意思跟人打招呼,基類(lèi)永遠(yuǎn)只有一個(gè)唯一子類(lèi)。if/else嵌套個(gè)六、七層不嫌多,一對(duì)大括號(hào)保證你一屏看不完,讓鼓吹多態(tài)的學(xué)院派一邊涼快去;調(diào)用super咱就隨機(jī)位置隨機(jī)call,姿勢(shì)隨心情而定。
難度指數(shù):7 殺傷指數(shù):9 綜合評(píng)定:8
第五名:View Hierarchy Attack
此類(lèi)適用于使用自定義的“容器類(lèi)”那票朋友。甭管View Controller的生命周期,App啟動(dòng)時(shí)一并創(chuàng)建并稱(chēng)之為預(yù)加載,然后每個(gè)VC貼幾十上百個(gè)視圖上去,使用Reveal/Xcode View Debugging時(shí)給人一種小朋友看火車(chē)的感覺(jué),感嘆自己的屏幕不夠?qū)?;再?duì)View hierarchy各種深度廣度遍歷,對(duì)第n層某個(gè)view來(lái)個(gè)強(qiáng)制轉(zhuǎn)換。圖片一定要拉伸,所有視圖全透明,像素一定不能對(duì)齊;種種招數(shù)保證了iPhone 5S最多跑到30FPS,瞬間充滿對(duì)iPhone 6的期待。
難度指數(shù):7 殺傷指數(shù):10 綜合評(píng)定:8.5
第四名:Massive Attack
此招集六大門(mén)派之精華,單一使出來(lái)都不夠帶感。Massive VC打頭陣,View Controller 5000行起;基類(lèi)有什么塞什么,方法的caller count為1最好;再來(lái)幾十個(gè)singleton或者工具類(lèi),頭文件塞上幾百個(gè)類(lèi)方法,最好還都沒(méi)有參數(shù)和返回值;有一種恢弘大氣的感覺(jué)就對(duì)了。
難度指數(shù):9 殺傷指數(shù):9 綜合評(píng)定:9
第三名:Dynamic/Typeless Attack
充分利用Objective-C的動(dòng)態(tài)性,能用id咱就不用具體類(lèi)型;API response/NSNotification/db里面數(shù)以百計(jì)的key/value飛來(lái)飛去;同一個(gè)東西在不同的地方類(lèi)型和名字一定要有差異;諸如此類(lèi)我們稱(chēng)之為了解代碼熟悉業(yè)務(wù),需要掛debugger說(shuō)明代碼不熟或者你太弱了;重構(gòu)工具就是擺設(shè),因?yàn)槟愀居貌涣恕?/p>
難度指數(shù):9 殺傷指數(shù):10 綜合評(píng)定:9.5
第二名:Runtime Attack
+Load里面各種黑魔法,黑得小伙伴沒(méi)人敢動(dòng);Catetory中搞些同名方法再加詭異的method swizzling。這類(lèi)招數(shù)殺傷力極強(qiáng),很可能數(shù)小時(shí)也定位不了問(wèn)題所在,又能提升逼格,強(qiáng)烈推薦。
難度指數(shù):10 殺傷指數(shù):10 綜合評(píng)定:10
第一名:Cross Dimension Attack
最能坑你的永遠(yuǎn)不是隊(duì)友這種同一維度的生物,你懂的
難度指數(shù):??? 殺傷指數(shù):??? 綜合評(píng)定:???
轉(zhuǎn)載,侵刪