国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

2020-11-12 23:16今日頭條編程挖掘機 編程技術

好的命名即是注釋,別人一看到你的命名就知道你的變量、方法或者類是做什么的! 好的命名對于其他人(包括你自己)理解你的代碼有著很大的幫助!

為什么需要重視命名?

好的命名即是注釋,別人一看到你的命名就知道你的變量、方法或者類是做什么的! 好的命名對于其他人(包括你自己)理解你的代碼有著很大的幫助!

簡單舉個例子說明一下命名的重要性。

編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

《Clean Code》這本書明確指出:

  • “ 好的代碼本身就是注釋,我們要盡量規范和美化自己的代碼來減少不必要的注釋。

若編程語言足夠有表達力,就不需要注釋,盡量通過代碼來闡述。

舉個例子:

去掉下面復雜的注釋,只需要創建一個與注釋所言同一事物的函數即可

// check to see if the employee is eligible for full benefits  

if ((employee.flags & HOURLY_FLAG) && (employee.age > 65)) 

應替換為

if (employee.isEligibleForFullBenefits()) 

常見命名規則以及適用場景

這里只介紹 3 種最常見的命名規范。

駝峰命名法(CamelCase)

駝峰命名法應該我們最常見的一個,這種命名方式使用大小寫混合的格式來區別各個單詞,并且單詞之間不使用空格隔開或者連接字符連接的命名方式

大駝峰命名法(CamelCase)

類名需要使用大駝峰命名法(UpperCamelCase)

正例:

ServiceDiscovery、ServiceInstance、LruCacheFactory 

反例:

serviceDiscovery、Serviceinstance、LRUCacheFactory 

小駝峰命名法(lowerCamelCase)

方法名、參數名、成員變量、局部變量需要使用小駝峰命名法(lowerCamelCase)。

正例:

getUserInfo()、createCustomThreadPool()、setNameFormat(String nameFormat) 

Uservice userService; 

反例:

GetUserInfo()、CreateCustomThreadPool()、setNameFormat(String NameFormat) 

Uservice user_service 

蛇形命名法(snake_case)

測試方法名、常量、枚舉名稱需要使用蛇形命名法(snake_case)

在蛇形命名法中,各個單詞之間通過下劃線“_”連接,比如should_get_200_status_code_when_request_is_valid、CLIENT_CONNECT_SERVER_FAILURE。

蛇形命名法的優勢是命名所需要的單詞比較多的時候,比如我把上面的命名通過小駝峰命名法給大家看一下:“shouldGet200StatusCodoWhenRequestIsValid”。感覺如何? 相比于使用蛇形命名法(snake_case)來說是不是不那么易讀?**

正例:

@Test 

void should_get_200_status_code_when_request_is_valid() { 

  ...... 

反例:

@Test 

void shouldGet200StatusCodoWhenRequestIsValid() { 

  ...... 

串式命名法(kebab-case)

在串式命名法中,各個單詞之間通過下劃線“-”連接,比如dubbo-registry。

建議項目文件夾名稱使用串式命名法(kebab-case),比如 dubbo 項目的各個模塊的命名是下面這樣的。

編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

常見命名規范

Java 語言基本命名規范

1.類名需要使用大駝峰命名法(UpperCamelCase)風格。方法名、參數名、成員變量、局部變量需要使用小駝峰命名法(lowerCamelCase)。

2.測試方法名、常量、枚舉名稱需要使用蛇形命名法(snake_case) ,比如should_get_200_status_code_when_request_is_valid、CLIENT_CONNECT_SERVER_FAILURE。并且,測試方法名稱要求全部小寫,常量以及枚舉名稱需要全部大寫。

3.項目文件夾名稱使用串式命名法(kebab-case),比如dubbo-registry。

4.包名統一使用小寫,盡量使用單個名詞作為包名,各個單詞通過 "." 分隔符連接,并且各個單詞必須為單數。

  • 正例: org.apache.dubbo.common.threadlocal
  • 反例: org.apache.dubbo.common.threadLocal

5.抽象類命名使用 Abstract 開頭。

//為遠程傳輸部分抽象出來的一個抽象類(出處:Dubbo源碼) 

public abstract class AbstractClient extends AbstractEndpoint implements Client { 

 

6.異常類命名使用 Exception 結尾。

//自定義的 NoSuchMethodException(出處:Dubbo源碼) 

public class NoSuchMethodException extends RuntimeException { 

    private static final long serialVersionUID = -2725364246023268766L; 

 

    public NoSuchMethodException() { 

        super(); 

    } 

 

    public NoSuchMethodException(String msg) { 

        super(msg); 

    } 

7.測試類命名以它要測試的類的名稱開始,以 Test 結尾。

//為 AnnotationUtils 類寫的測試類(出處:Dubbo源碼) 

public class AnnotationUtilsTest { 

  ...... 

POJO 類中布爾類型的變量,都不要加 is 前綴,否則部分框架解析會引起序列化錯誤。

如果模塊、接口、類、方法使用了設計模式,在命名時需體現出具體模式。

命名易讀性規范

1.為了能讓命名更加易懂和易讀,盡量不要縮寫/簡寫單詞,除非這些單詞已經被公認可以被這樣縮寫/簡寫。比如 CustomThreadFactory 不可以被寫成 ~~CustomTF 。

2.命名不像函數一樣要盡量追求短,可讀性強的名字優先于簡短的名字,雖然可讀性強的名字會比較長一點。 這個對應我們上面說的第 1 點。

3.避免無意義的命名,你起的每一個名字都要能表明意思。

  • 正例:UserService userService; int userCount;
  • 反例: UserService service int count

4.避免命名過長(50 個字符以內最好),過長的命名難以閱讀并且丑陋。

5.不要使用拼音,更不要使用中文。 注意:像 alibaba 、wuhan、taobao 這種國際通用名詞可以當做英文來看待。

  • 正例:discount
  • 反例:dazhe

Codelf:變量命名神器?

這是一個由國人開發的網站,網上有很多人稱其為變量命名神器, Guide 在實際使用了幾天之后感覺沒那么好用。小伙伴們可以自行體驗一下,然后再給出自己的判斷。

我選擇了 Java 編程語言,然后搜索了“序列化”這個關鍵詞,然后它就返回了很多關于序列化的命名。

編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

并且,Codelf 還提供了 VS code 插件,看這個評價,看來大家還是很喜歡這款命名工具的。

編碼 5 分鐘,命名 2 小時?編程中頭疼的事情:命名

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产高清免费 | 欧美精品一二三区 | 欧洲一级毛片 | 欧美日韩综合在线 | 欧美黄色www | 犬夜叉在线观看 | 免费视频爱爱太爽了 | 日韩无在线 | 久久伊| 久久国产一区 | 国产精品99久久久久久动医院 | 麻豆乱码国产一区二区三区 | 亚洲成人高清 | 一区二区 在线视频 | 自拍视频在线 | 久久久国产一区二区三区 | 亚洲一区二区三区免费观看 | 欧美激情一区二区三区 | 亚洲成人久久久久 | 亚洲欧美一区二区三区四区 | 国产视频久久久久久久 | 久久精品无码一区二区日韩av | 君岛美绪一区二区三区在线视频 | 日韩欧美h | 精品一区二区三区视频 | av成人一区二区 | 亚洲一区二区三区高清 | 色九区 | 啵啵影院午夜男人免费视频 | 国产成人午夜精品5599 | 99久久免费精品 | 91精品国产欧美一区二区成人 | 亚洲视频在线看 | 精品1区2区| 成人爱情偷拍视频在线观看 | 在线观看一区 | 成人在线免费观看小视频 | 乱人伦xxxx国语对白 | 91中文在线| 国产精品免费视频观看 | 狠狠色综合网站久久久久久久 |