鍍金池/ 問答/C++/ 你們覺得 C++11 程序可讀性如何?

你們覺得 C++11 程序可讀性如何?

最新在扣一些 C++11 的特性和項目,看到如下代碼時,覺得整個人都不好了。你知道我說的“整個人都不好了”是什么感受,我個人認(rèn)為學(xué)習(xí)新知識是一直需要保持的習(xí)慣,但當(dāng)我看到下面這些代碼時,我真的對新知識產(chǎn)生了恐懼。我不知道恐懼感來自哪里,只覺得并沒有因為新標(biāo)準(zhǔn)發(fā)布而開發(fā)變得更加方便或代碼更加容易閱讀了。

是方法用錯了,還是 C++11 就是如此?

clipboard.png

回答
編輯回答
帥到炸

auto 的引入已經(jīng)使得可讀性提高很多了。至于其它的,跟C++11新特性沒多大關(guān)系吧,C++本來就難讀

2017年6月26日 01:04
編輯回答
陌離殤

c++的新feature很多是爲(wèi)了庫的作者提供的, 如果你是庫的作者, 那麼就應(yīng)該多用, 比如move/decltype/forward等設(shè)施能提高庫的開發(fā)和運行效率, 如果你只是庫的使用者, 對造輪子沒什麼興趣, 那麼很多特性讀得懂就行了, 當(dāng)然也不是所有特性都難弄, 比如有了auto, c++這個靜態(tài)語言的類型推導(dǎo)也好用很多了, 比如lambda, function也是first-class了. 當(dāng)然也有很多時候c++11還做不到一致性, 比如lambda參數(shù)無法用auto, 那麼儘量切到14/17/2a, 無論如何, c++在現(xiàn)代語言的道路上不斷的在進(jìn)步.

2017年4月1日 12:02
編輯回答
情殺

還好吧??赡苁悄悴皇煜ぁ>拖褚粋€你每天朝夕相處的朋友突然大變樣了,你肯定會不適應(yīng)。

2017年6月5日 09:54
編輯回答
熟稔

這不僅和語言有關(guān)系,還和寫的人,具體的項目的復(fù)雜度,看的人的水平有關(guān)系。水平不夠的人寫的代碼可能所有人都看不懂,包括他自己;復(fù)雜的項目可能為了解決復(fù)雜的問題設(shè)計了晦澀難懂的系統(tǒng)結(jié)構(gòu),不看文檔誰都看不懂;看的人不熟悉語法,更看不懂。看不懂源碼是件很正常的事,有的代碼經(jīng)過混淆你也想通通看懂嗎?初學(xué)新特性的話就看一些簡單的例子,然后自己動手試試就好了,沒必要一開始就要起飛。

2017年8月4日 23:31