給變量取名字
用拼音首字母就對(duì)了昆著!這樣代碼不但短小精悍诫欠,同時(shí)更省事潦刃、省時(shí)有效減少手臂酸痛变隔。
Keep your variable names to 1 or 2 characters. Keeps your code Swifty and saves your rams.
給變量命名一定要精簡(jiǎn),盡量只用 1-2 個(gè)字符茵宪,這樣可以使你的代碼運(yùn)行更加流暢最冰,并且可以有效的減少程序?qū)?nèi)存的占用
關(guān)于命名的高級(jí)技巧
一定要精簡(jiǎn),盡量只用 1 個(gè)字符稀火,26 個(gè)不夠用的情況下可以適量增加暖哨。
有時(shí)候自己都看不懂?你需要新建一個(gè)文本文檔來(lái)仔細(xì)描述這個(gè)變量的作用凰狞,以用來(lái)查看其具體的含義篇裁。
用完之后請(qǐng)注意加密這個(gè)文檔,以免被別人解讀赡若。這個(gè)技巧有個(gè)最大的好處:你也許可能變成公司不可或缺的的頂級(jí)程序員达布。
擺正面試的心態(tài)
-
公司的 HR 面試官才不在乎你會(huì)不會(huì)寫單元測(cè)試、是否精通算法逾冬,或者了不了解平臺(tái)的 API黍聂。只要告訴他們你大量依賴并熟練使用各種第三方 CocoaPods 庫(kù)就夠了!
想要離線緩存數(shù)據(jù)身腻?
- 千萬(wàn)別用數(shù)據(jù)庫(kù)产还,那東西太復(fù)雜了,又要考慮線程嘀趟、又要擔(dān)心合并策略脐区,特別容易出錯(cuò)。你應(yīng)該用經(jīng)過(guò)初級(jí)程序員們千錘百煉的 NSUserDefaults她按,穩(wěn)定性堅(jiān)如磐石牛隅。
關(guān)于App編譯警告
還記得編譯 app 的時(shí)候出現(xiàn)的那些警示么炕柔?其實(shí)這是水果的陰謀。警示多了倔叼,說(shuō)明你對(duì) iOS 的底層了解太深汗唱,水果怕你濫用權(quán)限宫莱。所以千萬(wàn)別浪費(fèi)寶貴的休息時(shí)間去糾錯(cuò)丈攒,而是應(yīng)該對(duì)你的成就感到由衷的開(kāi)心。
不要理會(huì)這些無(wú)聊的警告授霸,程序只要能跑就行巡验,這些警告其實(shí)就是提醒你:你對(duì)iOS 的細(xì)節(jié)知道的太多了,Apple有點(diǎn)不耐煩碘耳。
如何提升用戶體驗(yàn)显设?
- 在編寫 app 的時(shí)候務(wù)必牢記:在用戶第一次啟動(dòng) app 的時(shí)候,一定要讓系統(tǒng)彈出 11 個(gè) Alert辛辨,向用戶索取所有能索取到的隱私權(quán)限:相機(jī)捕捂、麥克風(fēng)、定位服務(wù)斗搞、聯(lián)系人指攒、日歷、提醒事項(xiàng)僻焚、藍(lán)牙共享允悦、健康、音樂(lè)虑啤、語(yǔ)音識(shí)別和 HomeKit隙弛。畢竟,要是第一次啟動(dòng)的時(shí)候不問(wèn)全了狞山,之后需要用這些權(quán)限的時(shí)候忘了索取可就壞了 —— 忘了的話全闷,傲嬌的水果是會(huì)直接讓你的 app 崩潰的。
程序里各種功能的 KPI 不夠萍启?
-
簡(jiǎn)單室埋!先強(qiáng)制注銷用戶,然后用灰度下發(fā)或者隨機(jī)算法給登錄頁(yè)面換個(gè)地方伊约。這樣姚淆,你的 app 就變成了一場(chǎng)尋寶游戲,特別有助于用戶發(fā)現(xiàn)和體驗(yàn)各種之前不知道的功能屡律。
如何面試一個(gè)開(kāi)發(fā)者腌逢?
- 如果你是面試官,面試 iOS 程序員的時(shí)候一定要叫他們?cè)诎装迳嫌?RxSwift 從頭開(kāi)始編寫神經(jīng)網(wǎng)算法超埋。這樣不但讓你在面試時(shí)變成威風(fēng)凜凜的指揮官搏讶,而且還能讓他們?cè)诮窈蠊ぷ髌陂g對(duì)你俯首貼耳佳鳖。
代碼風(fēng)格的進(jìn)階技巧?
-
在寫代碼的時(shí)候記得不要換行媒惕。這樣不但會(huì)加快自動(dòng)補(bǔ)全的準(zhǔn)確度系吩,還會(huì)改善編譯的速度。另外妒蔚,在設(shè)置調(diào)試斷點(diǎn)的時(shí)候你也不用上下翻來(lái)翻去了穿挨。
一定要記得函數(shù)式編程的核心,單字母變量肴盏,超簡(jiǎn)短入U(xiǎn)nix 命令行指令般的函數(shù)命名才是最棒的
代碼有異味怎么辦科盛?
-
簡(jiǎn)單!首先保存 Xcode 項(xiàng)目菜皂。然后打開(kāi)終端贞绵,只 commit 現(xiàn)有改動(dòng)到本地的 git 源,但不要把變更推到 Github 上恍飘。最后用 Finder 打開(kāi)工程目錄榨崩,在筆記本開(kāi)蓋的情況下把整機(jī)泡到高濃度酒精里。搞定章母!
想知道你用的第三方庫(kù)穩(wěn)不穩(wěn)定罪帖?
- 簡(jiǎn)單但两!找?guī)炀拖褓I二手車 —— 經(jīng)過(guò)的各種修修補(bǔ)補(bǔ)和維護(hù)當(dāng)然越少越好帽哑。
- 星星越少羽嫡、更新越少的repo,當(dāng)然會(huì)有更少的issue舞肆,并且越少人知道就證明這個(gè)庫(kù)越穩(wěn)定高效焦辅,真理往往掌握在少數(shù)人手中!
-
MVC 其實(shí)是 Most Viable CocoaPod (最明顯的 CocoaPod) 的縮寫椿胯。
代碼性能優(yōu)化筷登?
-
把復(fù)雜的代碼全部丟進(jìn)異步后臺(tái)線程里能夠提升性能。只有原始人才用的整數(shù)哩盲、布爾值和 UISegmentedControl 才需要在主線程里執(zhí)行前方。
在 AppDelegate 里的代碼越多,你的 app 運(yùn)行速度越快廉油。AppDelegate 和 CPU 之間的距離最短惠险,性能開(kāi)支最少。
經(jīng)常接私活的開(kāi)發(fā)者抒线?
-
是不是那么多 iTunes Connect 的賬號(hào)密碼記也記不清了班巩?哎,你們太不會(huì)變通了嘶炭。把這些 iTunes Connect 的賬號(hào)密碼存到 Info.plist 里不就好了嗎抱慌?隨用隨妊疯搿!