自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS開發(fā):從新手到專家的一些建議

移動開發(fā) iOS
你真的必須熱愛你所做的事情,并在這面擅長,這一點尤其適用于編程。不管什么人告訴你,你不會在一夜之間成為一個老練的開發(fā)者,但如果你保持不間斷的學(xué)習(xí),并細(xì)心打磨自己的“手藝”,我想你的技術(shù)會有很好的提高。

[[90991]]

雖然你有可能在一周內(nèi)學(xué)習(xí)到iOS開發(fā)的本質(zhì),但想要精通iOS開發(fā)需則要花費更長的時間。問題是你如何從新手變成專家?在這篇文章中,我們主要就這個主題給出一些建議(如果你有好的建議和相關(guān)文章歡迎分享給更多開發(fā)者):

1.練習(xí),練習(xí)還是練習(xí)

iOS開發(fā)沒有捷徑可走。這是我在繼續(xù)這個話題之前需要強調(diào)的東西,因為擺脫任何常常浮現(xiàn)于你腦海的幻想很重要。如果你僅僅在星期天的4PM和 5PM之間學(xué)習(xí)/練習(xí)編程,那么你不會成為一個熟練的iOS開發(fā)者。不要誤會我的意思,這么做可能會很有趣,但是它很難讓你成為一個老練的專業(yè)的iOS開 發(fā)者。除了極少數(shù)的人,大部分人都需要不斷的練習(xí)和實踐。如果你還沒有準(zhǔn)備好投入大量時間,這時候最好重新審視你的目標(biāo)和理想。

2.向其他人學(xué)習(xí)

提升開發(fā)技能和采用最佳實踐的最好策略之一是學(xué)習(xí)別人的代碼。這不僅僅意味著瀏覽Stack Overflow,但更重要的是其他開發(fā)者的各種開源類庫和代碼片段。

不管何時你一頭扎進各種類庫的學(xué)習(xí),比如AFNetworking或者Magical Record,很關(guān)鍵的一點是不要被各種代碼淹沒。有可能你不理解各種庫中的代碼,但這不是真正的關(guān)鍵,重點是從一個更高的層次來看源碼和盡可能多地學(xué)習(xí),比如命名規(guī)范、最佳實踐以及設(shè)計模式等。

除了學(xué)習(xí)別人的代碼外,創(chuàng)建你自己的類庫是一個最好的學(xué)習(xí)方法。不久前,我用Core Data作為數(shù)據(jù)層開發(fā)了一款app,我沒有使用Magical Record,我決定通過學(xué)習(xí)Magical Record創(chuàng)建自己的庫,并重新創(chuàng)建了我需要的功能。這種方法不僅幫我創(chuàng)建了一個更加靈活的庫,也讓我學(xué)習(xí)到很多Magical Record內(nèi)部的工作原理。

3. 不要僅僅復(fù)制和粘貼

這一點讓我看到了正確學(xué)習(xí)方式的另一個關(guān)鍵面:不要不動腦子簡單地復(fù)制和粘貼。我們常常會使用我們在Stack Overflow或者蘋果開發(fā)者論壇找到的各種代碼片段,但是不要為了偷懶簡單地復(fù)制粘貼你從網(wǎng)絡(luò)上找到的代碼,這樣你很難徹底理解它。最大的危險在于這可能會導(dǎo)致意外的行為,以致于你的代碼以后都很難調(diào)試和修復(fù)。

有時候,復(fù)制別人的代碼片段看著可能已經(jīng)解決了你遇到的問題,但是我強烈建議不要這么做。閱讀代碼,理解你往代碼庫添加的東西,可能的話定制你 需要的解決方案。不用說,這并不適用于開發(fā)者積極維護的庫或框架。在項目中使用Magical Record前,如果你需要仔細(xì)檢查它,那么我確信你已經(jīng)理解了不同之處。使用你自己的常識。

4. 模式

Cocoa和Objective-C在很多方面都不同于其他編程語言和環(huán)境。這意味著他們有自己獨特的模式和最佳實踐。我確信你已經(jīng)熟悉了一些常見的模式,比如委托和通知。但還有很多模式可以開發(fā)過程中幫助你,比如單例模式、觀察者模式以及通用模式等。Cocoa Fundamentals Guide很好地概述了Cocoa中大部分常用模式。

5.了解你的工具

作為一個開發(fā)者并不僅僅是理解語言和框架,理解你每天使用的工具同樣重要。對于iOS開發(fā)來說,這意味著你需要很好地理解Xcode和其他可能用到的工具,比如PonyDebuggerCharles。如果你想學(xué)習(xí)一些額外的技巧,你可能會對我此前的一篇文章(iOS Quick Tip: 7 Tips to Speed Up Your Development)感興趣。

6.與時俱進

即使你不能參加蘋果一年一度的開發(fā)者大會--WWDC,但瀏覽大量的會議視頻是個很好的學(xué)習(xí)方法,你可以觀看你感興趣的專題視頻,它們都是由在 某方面擅長的工程師演講,他們可以告訴你一些細(xì)節(jié)信息以及相關(guān)使用說明。另外,你還可以多關(guān)注優(yōu)秀的開發(fā)者,他們會定期寫一些技術(shù)文章,比如比如Matt Gemmell、 Aaron Hillegass以及Mike Ash,你可以在我為Mobiletuts+寫的這篇“Where To Go Next”文章中找到更多學(xué)習(xí)資源。

7.學(xué)習(xí)其他語言

我已經(jīng)注意到學(xué)習(xí)新語言或者使用新框架讓我對軟件開發(fā)的整體理解有了明顯提高。這種方法的優(yōu)點在于不會限制你對最熟悉語言的認(rèn)知和它潛在可能性的理解。我最近在研究Ember.js,并了解到它的創(chuàng)建者 Yehuda KatzTom Dale是從Cocoa獲得的靈感。Ember.js對mvc的實現(xiàn)并沒有遵循JavaScript framework,不過如果你熟悉cocoa的話,就不會感覺到奇怪了。

對于軟件開發(fā)來說,沒有最好的語言,每種語言都有自己的優(yōu)勢和劣勢。但是好的一面在于或多或少他們都有所不同,這使得學(xué)習(xí)新語言變得更加有趣和 更有啟發(fā)性。比如對我來說,Ruby在寫DRY (Don’t Repeat Yourself)、易讀的、干凈的代碼方面讓我大開眼界。

總結(jié)

如果你不想花費時間成為一個更好的程序員,那么你可能要重新考慮下為什么你把成為一個程序員擺在首位。但如果你會因為一個可以幫你的新類庫或者 開發(fā)工具而興奮,那么隨著時間的流逝,你在提高自身技能方面可能不會有什么問題。你真的必須熱愛你所做的事情,并在這面擅長,這一點尤其適用于編程。不管什么人告訴你,你不會在一夜之間成為一個老練的開發(fā)者,但如果你保持不間斷的學(xué)習(xí),并細(xì)心打磨自己的“手藝”,我想你的技術(shù)會有很好的提高。

責(zé)任編輯:閆佳明 來源: cocoachina
相關(guān)推薦

2020-10-23 09:45:06

程序員能力開發(fā)

2017-11-29 18:52:13

Python新手編碼建議

2015-09-11 09:59:31

程序員新手專家

2010-01-14 13:53:52

局域網(wǎng)交換機選購

2011-06-14 16:31:27

QT

2023-08-31 07:33:41

GopherCarolexcel

2009-05-21 15:39:35

程序員項目管理職場

2015-07-28 14:39:02

IOS技巧

2018-02-06 11:10:27

iOS開發(fā)Xcode快捷鍵

2019-05-05 11:20:23

GitHub代碼Python

2012-12-24 14:51:02

iOS

2018-02-04 22:29:21

iOS開發(fā)

2014-05-13 09:55:13

iOS開發(fā)工具

2015-07-28 14:52:35

IOS技巧

2020-09-21 06:58:56

TS 代碼建議

2012-11-09 10:46:24

Canonical

2018-11-20 14:24:46

數(shù)據(jù)分析數(shù)據(jù)庫統(tǒng)計

2013-03-29 09:03:59

iOS實用小代碼iOS開發(fā)

2023-10-10 22:33:20

C++編程

2017-07-12 15:48:44

AndroidJavaEffective J
點贊
收藏

51CTO技術(shù)棧公眾號