當(dāng)前位置:商國互聯(lián)首頁 供應(yīng)信息 IT設(shè)備、數(shù)碼產(chǎn)品、軟件 其他專用軟件 其他行業(yè)專用軟件

每個西安iOS程序員都要遵守的原則
好的編程原則跟好的系統(tǒng)設(shè)計原則和技術(shù)實施原則有著密切的聯(lián)系。下面藍鷗西安iOS培訓(xùn)(http://xa.lanou3g.com/)這些編程原則可以幫助你成為一名優(yōu)秀的程序員,我相信,這些原則對任何一個開發(fā)人員來說,都能讓他的編程能力大幅度的提高,能讓他開發(fā)出可維護性更強、缺陷更少的程序。
提煉原則 — 跟“不要自我重復(fù)原則”相關(guān),這一原則是說“程序中任何一段具有功能性的代碼在源代碼文件中應(yīng)該唯一的存在?!?
保持簡單 — 簡單化(避免復(fù)雜)永遠都應(yīng)該是你的頭等目標(biāo)。簡單的程序讓你寫起來容易,產(chǎn)生的bug更少,更容易維護修改。
不要開發(fā)你目前用不到的功能 — 除非你真正需要用到它,否則不要輕易加上那些亂七八糟用不到的功能。
用最簡單的方法讓程序跑起來 — 在開發(fā)時有個非常好的問題你需要問問自己,“怎樣才能最簡單的讓程序跑起來?”這能幫助我們在設(shè)計時讓程序保持簡單。
不要讓我動腦子 — 這實際上是Steve Krug
關(guān)于web界面操作的一本書的書名,但也適用于編程。主旨是,程序代碼應(yīng)該讓人們花最小的努力就能讀懂和理解。如果一段程序?qū)τ陂喿x者來說需要花費太多的努力才能理解,那它很可能需要進一步簡化。
開放/封閉原則 —
程序里的實體項(類,模塊,函數(shù)等)應(yīng)該對擴展行為開放,對修改行為關(guān)閉。換句話說,不要寫允許別人修改的類,應(yīng)該寫能讓人們擴展的類。
為維護者寫程序 —
任何值得你編寫的程序在將來都是值得你去維護的,也許由你維護,也許由他人。在將來,當(dāng)你不得不維護這些程序時,你對這些代碼的記憶會基本上跟一個陌生人一樣,所以,你最好還是當(dāng)成一直在給別人寫程序。一個有助于你記住這個原則的辦法是“寫程序時時刻記著,這個將來要維護你寫的程序的人是一個有嚴重暴力傾向,并且知道你住在哪里的精神變態(tài)者”。
最少意外原則 —
最少意外原則通常是使用在用戶界面設(shè)計上,但這個原則同樣適用于編寫程序。程序代碼應(yīng)盡可能的不要讓閱讀者感到意外。也就是說應(yīng)該遵循編碼規(guī)范和常見習(xí)慣,按照公認的習(xí)慣方式進行組織和命名,不符常規(guī)的編程動作應(yīng)該盡可能的避免。
單一職責(zé)原則 — 一個代碼組件(例如類或函數(shù))應(yīng)該只執(zhí)行單一的預(yù)設(shè)的任務(wù)。
最小化耦合關(guān)系 —
一個代碼片段(代碼塊,函數(shù),類等)應(yīng)該最小化它對其它代碼的依賴。這個目標(biāo)通過盡可能少的使用共享變量來實現(xiàn)。“低耦合是一個計算機系統(tǒng)結(jié)構(gòu)合理、設(shè)計優(yōu)秀的標(biāo)志,把它與高聚合特征聯(lián)合起來,會對可讀性和可維護性等重要目標(biāo)的實現(xiàn)具有重要的意義?!?
最大化內(nèi)聚性 — 具有相似功能的代碼應(yīng)該放在同一個代碼組件里。
隱藏實現(xiàn)細節(jié) — 隱藏實現(xiàn)細節(jié)能最小化你在修改程序組件時產(chǎn)生的對那些使用這個組件的其它程序模塊的影響。
笛米特法則(Law of Demeter) — 程序組件應(yīng)該只跟它的直系親屬有關(guān)系(例如繼承類,內(nèi)包含的對象,通過參數(shù)入口傳入的對象等。)
避免過早優(yōu)化 —
只有當(dāng)你的程序沒有其它問題,只是比你預(yù)期的要慢時,你才能去考慮優(yōu)化工作。只有當(dāng)其它工作都做完后,你才能考慮優(yōu)化問題,而且你只應(yīng)該依據(jù)經(jīng)驗做法來優(yōu)化?!皩τ谛》鹊男阅芨倪M都不該考慮,要優(yōu)化就應(yīng)該是97%的性能提升:過早優(yōu)化是一切罪惡的根源”—Donald
Knuth。
代碼復(fù)用 — 這不是非常核心的原則,但它跟其它原則一樣非常有價值。代碼復(fù)用能提高程序的可靠性,節(jié)省你的開發(fā)時間。
職責(zé)分離 — 不同領(lǐng)域的功能應(yīng)該由完全不同的代碼模塊來管理,盡量減少這樣的模塊之間的重疊。
擁抱變化 — 這是Kent
Beck的一本書的副標(biāo)題,它也是極限編程和敏捷開發(fā)方法的基本信條之一。很多的其它原則都基于此觀念:面對變化,歡迎變化。事實上,一些經(jīng)典的軟件工程原則,例如最小化耦合,就是為了讓程序更容易面對變化。不論你是否采用了極限編程方法,這個原則對你的程序開發(fā)都有重要意義。
藍鷗西安分中心是藍鷗科技(www.lanou3g.com)的第六家分中心,專注于iOS開發(fā),師資力量強大,教學(xué)經(jīng)驗豐富,環(huán)境優(yōu)美,交通便利,始終堅持讓教育回歸本質(zhì)的教學(xué)理念,學(xué)習(xí)iOS開發(fā),就來藍鷗科技!
QQ:3289425775 郵箱:zhangyamei@lanou3g.com
咨詢電話:029-88867933 微信號:xianlanou
地址:西安市高新區(qū)高新路與科技二路十字水晶城B座7層
郵編:710065
網(wǎng)址:http://xa.lanou3g.com/
*您的姓名:
*聯(lián)系手機:
固話電話:
E-mail:
所在單位:
需求數(shù)量:
*咨詢內(nèi)容: