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

一個(gè)小例子介紹Obj-C的函數(shù)命名方式

移動(dòng)開(kāi)發(fā) iOS
代碼永遠(yuǎn)會(huì)有BUG,在這方面沒(méi)有最好只有更好。高效是程序員必須作到的事情,無(wú)錯(cuò)是程序員一生的追求。復(fù)用、分而治之、折衷是代碼哲學(xué)的基本思想。模塊化與面向?qū)ο笫菍?shí)現(xiàn)高效無(wú)錯(cuò)代碼的方法。高效無(wú)錯(cuò)代碼需要思想與實(shí)踐的不斷反復(fù)。本文介紹了一個(gè)小例子,闡述Objective-C的函數(shù)命名方式。

對(duì)于以前做C#或者JAVA開(kāi)發(fā)的朋友而言,初次接觸iOS開(kāi)發(fā),Obj-C的函數(shù)命名方式可能會(huì)感覺(jué)非常不習(xí)慣。

尤其是打開(kāi)AppDelegate.m,映入眼簾的代碼竟然是:

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  2.     // Override point for customization after application launch. 
  3.     return YES; 

不知道會(huì)不會(huì)有朋友和我當(dāng)初同樣的感覺(jué)——天啊,這也太長(zhǎng)了?。?!

其實(shí),在Obj-C中,上面這個(gè)函數(shù)的函數(shù)名應(yīng)該是:

  1. - (BOOL)application:didFinishLaunchingWithOptions: 

括號(hào)后面跟隨的application和launchOptions是在函數(shù)內(nèi)使用的參數(shù)。

我們可以將這個(gè)函數(shù)解讀為“應(yīng)用程序:完成啟動(dòng)使用選項(xiàng):”。

其中“應(yīng)用程序”冒號(hào)后面的參數(shù)顧名思義就是應(yīng)用程序自身。

而“完成啟動(dòng)使用選項(xiàng)”冒號(hào)后面的參數(shù)顧名思義就是啟動(dòng)的選項(xiàng)。

這里我用了兩個(gè)“顧名思義”,對(duì)就是顧名思義!在Obj-C的函數(shù)命名的方式有點(diǎn)類(lèi)似于自然語(yǔ)言,相信大家會(huì)像我一樣,隨著對(duì)iOS開(kāi)發(fā)的逐漸深入,會(huì)越來(lái)越適應(yīng)甚至喜歡這種命名方式的。

下面再舉一個(gè)例子,如果我們?cè)趈ava中定義一個(gè)加法的函數(shù),大概會(huì)用如下方式:

  1. /** 
  2.  * 計(jì)算a+b的結(jié)果 
  3.  * @param a 
  4.  * @param b 
  5.  * @return 返回a+b的和 
  6.  */ 
  7. public int add(int a, int b) { 
  8.     return a + b; 

在java中定義函數(shù)時(shí),通常我們會(huì)習(xí)慣編寫(xiě)一個(gè)簡(jiǎn)單的注釋?zhuān)绱艘粊?lái)我們可以在程序的其他位置,利用eclipse的智能提示看到這些參數(shù)分別代表什么意思,還可以使用Javadoc工具生成程序文檔。這是非常方便而且有意義的!

而在Obj-C中我們會(huì)如何做呢?首先定義一個(gè)函數(shù),代碼如下:

  1. - (NSInteger)addA:(NSInteger)a withB:(NSInteger)b { 
  2.     return a + b; 

而在調(diào)用該函數(shù)時(shí),Xcode的提示會(huì)大概如下所示:

  1. [self addA:(NSInteger) withB:(NSInteger)]; 

此時(shí),我們可以把這句話解讀成“加A和B”,有沒(méi)有覺(jué)得更容易理解一些啊?應(yīng)該會(huì)的,呵呵。

在Obj-C中,如果養(yǎng)成良好的函數(shù)命名習(xí)慣。相信隨著時(shí)間的推移,你會(huì)發(fā)現(xiàn),需要寫(xiě)的注釋會(huì)越來(lái)越少。盡管在Xcode中沒(méi)有類(lèi)似于 eclipse的智能提示,但是這并不會(huì)妨礙我們一目了然地看明白每個(gè)函數(shù)都是做什么的,以及它們都需要什么參數(shù),乃至各個(gè)參數(shù)都分別應(yīng)該是什么類(lèi)型的。

一起來(lái)享受快樂(lè)的iOS開(kāi)發(fā)之旅吧~~~

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

2013-03-26 10:08:38

LLVM 4.0語(yǔ)法變LLVM 4.0新特性

2013-04-28 10:36:00

Obj-C數(shù)組Obj-C字符串拼接與

2009-07-21 14:55:30

2009-08-26 15:53:42

C#數(shù)據(jù)訪問(wèn)XML

2009-07-14 16:02:42

JDBC例子

2021-10-21 08:51:01

UndiciNode.jsAPI

2009-09-01 16:03:32

C#單元測(cè)試

2011-05-06 14:19:29

ExcelSQL Server

2010-04-19 17:21:36

Oracle寫(xiě)文件

2020-03-26 17:00:53

HashMapputJava

2009-08-13 13:38:30

C#命名規(guī)范

2009-09-01 17:29:51

C#命名規(guī)約

2021-11-30 08:26:59

C++設(shè)計(jì)模式

2022-10-19 11:31:49

TDD開(kāi)發(fā)

2020-11-09 06:38:00

ninja構(gòu)建方式構(gòu)建系統(tǒng)

2011-06-17 16:09:04

freadfwrite

2023-11-28 12:19:49

C++函數(shù)指針

2009-08-10 10:08:45

.NET調(diào)用PHP W

2011-05-27 17:51:00

Android

2017-05-11 13:42:49

JavaScriptJQuery DataDOM
點(diǎn)贊
收藏

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