日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中的命名参数

發布時間:2023/12/3 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中的命名参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建具有許多參數的方法是一個主要的缺點。 每當需要創建這樣的方法時,就在空氣中聞一聞:這是代碼的味道。 強化單元測試,然后進行重構。 沒有借口,沒有屁股。 重構! 使用構建器模式,甚至更好地使用Fluent API。 對于后者,注釋處理器的影響可能會有很大幫助。

綜上所述,當我們面對現實生活而不是我們在業余愛好項目中可以遵循的理想主義模式時,我們可能會邁入人生的關鍵時刻。 遺留下來的企業庫怪物具有數以千計的參數方法,您沒有權力,時間,勇氣或興趣(對您不利)來修改……操作……對其進行重構。 如果有時間,您可以將構建器創建為外觀,將丑陋的API隱藏在其后。 創建構建器仍然是您甚至在編寫之前就必須進行單元測試的代碼(您知道:TDD),而您可能沒有時間。 調用怪異方法的代碼也已經存在,您只需對其進行維護即可。

您仍然可以做一些小技巧。 它可能并不完美,但是仍然有些完美。

假設有一個方法:

public void monster(String contactName, String contactId, String street, String district,...Long pT){ ... }

首先是在調用者的位置明智地選擇局部變量。 可惜已經選擇了名稱,您可能不想更改它。 可能有某些原因,例如,遵循了應用程序范圍的命名約定,即使您的樣式不是這樣,也可能有意義。 因此調用:

monster(nm, "05300" + dI, getStrt(), d, ... , z+g % 3L );

不完全是我在說的。 這就是您所擁有的,您可以使用它,也可以在代碼中插入新變量:

String contactName = nm; String contactId = "05300" + dI; String street = getStrt(); Street district = d; ... Long pT = z+g % 3L; monster(contactName, contactId, street, district, ... ,pT );

或者甚至可以用Java中不常見的方式編寫它,盡管完全合法:

String contactName, contactId, street, district; ... Long pT; monster(contactName = nm, contactId = "05300" + dI, street = getStrt(), district = d, ... ,pT = z+g % 3L );

好吃嗎 依靠。 我不會在口味上爭論。 如果您不喜歡那樣,還有另一種方法。 您可以定義輔助和非常簡單的靜態方法:

static <T> T contactName(T t){ return T;} static <T> T contactId(T t){ return T;} static <T> T street(T t){ return T;} static <T> T district(T t){ return T;} ... static <T> T pT(T t){ return T;}monster(contactName(nm), contactId("05300" + dI), street(getStrt()(, district(d), ... ,pT(z+g % 3L) );

該代碼仍然很丑陋,但是在調用者處更具可讀性。 你甚至可以收集靜態方法為工具類或接口在Java中8的情況下,命名為喜歡with , using , to等等。 您可以將它們靜態導入到您的代碼中,并進行如下一些方法調用:

doSomething(using(someParameter), with(someOtherParameter), to(resultStore));

如果您回答了最后一個問題,那么所有這些都將使您感到惱: * pT是什么祝福。

* “隨便什么,您都可以用其他任何單詞代替”)

翻譯自: https://www.javacodegeeks.com/2014/09/named-parameters-in-java.html

總結

以上是生活随笔為你收集整理的Java中的命名参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。