2013-10-30 40 views
0

我喜歡將多行代碼合併爲一個,當我可以。例如:我可以將這三行代碼合併爲一行嗎?

int64_t siz = [self getFileSizeAsInt64_t: filePath]; 
NSString * str = [self convLongLongToCommaStr: siz]; 
return(str); 

成爲

return [self convLongLongToCommaStr: [self getFileSizeAsInt64_t: filePath]]; 

這裏是一個三線代碼模式我在我的代碼很多,我想合併成一條線看到的一個例子。但是,我一直無法做到,我不確定這是否可能。

UIImageView * imgView = ctlObjs[iImgIdx]; 
[imgView setImage: nextImage]; 
ctlObjs[iImgIdx] = imgView; 

感謝有關如何做到這一點的任何見解,如果有可能的話。

+1

我不認爲最後一行是必要的三個。它已經獲得了該對象的參考。 –

+5

就我個人而言,我覺得你試圖讓你的代碼儘可能難以閱讀...... –

回答

0

只是

[ctlObjs[iImgIdx] setImage:nextImage];

+0

對我來說,阿列克謝的單行比我原來的三行更適合閱讀。 – Gallymon

2

由於亞爾指出,這第三行是沒有必要的。但是,你可以結合前兩個像這樣:

[ctlObjs[iImgIdx] setImage:nextImage]; 

或者,如果ctlObjsNSArrayNSMutableArray,你可能想以下,這使得意圖清晰,提供了更好的代碼完成:

[(UIImageView *) ctlObjs[iImgIdx] setImage:nextImage]; 

話雖如此,事實上你可以多行代碼合併成一個並不意味着你必然應該。恕我直言,代碼易讀性可能比compactness更重要。我個人會堅持:

UIImageView *imgView = ctlObjs[iImgIdx]; 
[imgView setImage: nextImage]; 
+3

我會繼續關於保持線條分離的觀點。它使代碼更易於閱讀並且更易於調試。您不會因使用較少的代碼行而贏得積分。 – rmaddy

相關問題