成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

臟話越多,代碼越好!

開發 前端
為了研究這個問題,作者從GitHub中抓取了3800個含臟話的C代碼庫,7600個不含臟話的C代碼庫,用自家的軟件SoftWipe分析它們對編碼標準的遵守情況,逐個打分。

?你在讀開源代碼的時候有沒有遇到過這種注釋?

What the fuck ?

Dude,WTF

Fuck this !

我遇到過,每次都忍不住笑,心想老外可真是性情中人,遇到不爽的地方就開罵,還直接寫到注釋中,甚至代碼中。

圖片

Bob大叔在《Clean Code》一書中諄諄教導我們:要對變量、函數、類精心命名,避免耍小聰明,別使用雙關語。

那么在注釋甚至在代碼中說臟話,會不會影響總體代碼質量呢?

還真有人做了這個研究,Jan Strehmel,一個來自德國卡爾斯魯厄理工學院的學生發表了一篇論文,名稱就叫《在開源代碼中臟話的使用和代碼質量之間有相關性嗎?》

為了研究這個問題,作者從GitHub中抓取了3800個含臟話的C代碼庫,7600個不含臟話的C代碼庫,用自家的軟件SoftWipe分析它們對編碼標準的遵守情況,逐個打分。

然后發揮他在統計學的技能,用了中心極限定理,Bootstrapping,Significance testing,Jarque-Bera test,Shapiro-Wilk test,Q-Q plot,Kolmogorov-Smirnov test ......,一頓操作猛如虎,最后他得到了一個驚人結論:

包含臟話的開源代碼明顯比不含臟話的質量更好!

圖片

(原論文有很多圖,感興趣的可以去看看)

面對這個結果,作者恐怕也沒想到,他試圖解釋到:臟話代表了程序員對代碼極其復雜性的情感!在寫代碼的時候,罵幾句臟話,是緩解壓力的一種方式,這反過來?可以提?注意?,從而提?代碼質量。

當然,你可千萬不要理解成只要在代碼中用了臟話,代碼質量就會有提高,那就大錯特錯了。

這個結果讓我立刻想到了Linus Torvalds,他經常Fuck 這個,Fuck那個的,Linus在內核源碼中對別人代碼的評論就足以扭曲統計結果。

圖片

在Linux最早的幾個版本中就出現fuck, shit ,damn這樣臟話,這似乎成了一種Linux的文化,在后續Linux源碼中各種臟詞不斷出現。

在2005年7月28號,fuck*達到了頂峰,足足出現了68次,隨后逐漸下降。

而 idiot* 則一致是在緩慢上升,現在和damn* 并駕齊驅,不分上下。

圖片

但是,這些臟話并不影響Linux內核是優秀代碼的典范(詳情參見這一篇文章《漫畫 | 因為用了C語言,Linux內核代碼一團糟?》),以Linus Torvalds為首的團隊對代碼結構和風格做了嚴格的定義,在Review中堅持執行。

在Java社區,開源代碼中的臟話也不少。

2018年,IBM 軟件工程師 Adam Farley 給 OpenJDK 提交了一個 Bug ,說 OpenJDK 源碼中臟話太多了,到處都是,OpenJDK是在專業領域使用的,這太不合適了吧?這不我特意提交了一個Changset把它們都刪了。

圖片

圖片

圖片

3天后,經過 OpenJDK 社區討論,大家認為:

Damn 和 Crap 不算臟話!還有3 個 f**k,是上游的鍋(回頭會跟進處理),只有一個文件中的f**k,都是臟話,應該刪掉。

為什么程序員喜歡在源碼中用臟話表示自己的想法呢? 

代碼是程序員每天都要面對的工作對象,對代碼確實會出現復雜的情感,有時候需要一種情緒的宣泄。

看到一段高深的,自己無法理解的代碼,what the fuck?

好不容易把一段復雜邏輯的各種分支,邊界條件都搞定了,代碼實在是亂,don't fuck with it !

花了很大的精力寫完了邏輯,卻發現有個異常無法處理,damn,damn,damn

......

咱們國內程序員似乎比較含蓄,很少在代碼中寫臟話,更喜歡吐槽公司,吐槽系統,是不是這樣?

不過,一定要記住一點:當在代碼評論中出現臟話時,你就要小心了,不要輕易動下面的代碼,弄不好就是個大坑!

參考資料:

https://cme.h-its.org/exelixis/pubs/JanThesis.pdf  

https://www.vidarholen.net/contents/wordcount

責任編輯:武曉燕 來源: 碼農翻身
相關推薦

2025-01-17 08:16:53

2014-09-16 16:33:32

無線路由

2020-05-16 12:27:26

5G頻段手機廠商

2025-02-14 08:30:00

MySQL索引數據庫

2021-10-15 06:07:32

無線路由無線信號MIMO

2025-03-24 06:40:00

特征工程機器學習模型

2024-02-28 18:17:28

模型數據LLM

2018-09-12 21:06:08

大數據統計學家分析

2013-10-11 16:21:39

虛擬機

2019-07-17 16:21:18

電腦風扇散熱

2020-12-04 19:17:00

智能手機手機攝像頭主攝

2018-02-07 08:08:11

2024-08-12 12:27:03

2022-04-04 17:52:20

模型計算DeepMind

2012-10-09 10:12:12

2017-10-02 08:09:04

2009-09-24 15:30:06

開源軟件

2023-03-11 13:15:01

AI模型系統

2020-09-07 06:59:44

Kafka分布式場景
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 二区中文字幕 | 欧美日韩精品久久久免费观看 | 欧美2区 | 一区网站| 99精品国自产在线 | 69福利影院 | 日韩欧美在线不卡 | 亚洲精品日日夜夜 | 日韩精品免费一区二区在线观看 | 人人射人人 | 国产网站在线免费观看 | 日本黄色免费片 | 国产精品资源在线观看 | 国产精品久久久久久久久久久久 | 福利在线看 | 免费成人高清在线视频 | 二区在线观看 | 久草欧美视频 | av在线免费观看网站 | 欧美精品乱码久久久久久按摩 | 久久国产传媒 | 久久手机视频 | 日韩欧美在线视频 | 日韩成人在线视频 | 五月婷婷在线播放 | 在线看无码的免费网站 | 可以在线观看av的网站 | 成人av免费看 | 精品欧美一区二区三区久久久 | 免费观看视频www | 亚洲一区二区三区四区五区午夜 | 成人小视频在线观看 | 亚洲一区在线日韩在线深爱 | 一区二区在线观看免费视频 | 国产欧美精品 | 激情久久av一区av二区av三区 | 国产在线精品一区二区 | 91人人看 | 精彩视频一区二区三区 | 亚洲最新在线 | 日韩欧美在线一区二区 |