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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决气味

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决气味 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時我們可能會在代碼庫中遇到一些巨大的if語句。 這些語句必須維護并一次又一次地更改相同的代碼塊。 在if語句檢查變量是否屬于某個值范圍內的情況下,這也是常見的。

假設您有一個枚舉

public enum FoodType {FRUIT,VEGETABLES,RED_MEAT,WHITE_MEAT,FISH,DIARY,CERIAL }

并且您有一個功能可以提出一些建議

public String recommend(FoodType foodType) {if(foodType==FoodType.FISH||foodType==FoodType.RED_MEAT||foodType==FoodType.WHITE_MEAT) {//execute a procedure} else if(foodType==FoodType.FRUIT||foodType==FoodType.VEGETABLES) {//execute a procedure} else {//execute a procedure}}

如您所見,現在已做出決定。 該決定與碰巧屬于特定人群的某些類型的食物有關。
魚,紅肉和白肉對那些偏愛蛋白質的用戶有益,而水果和蔬菜更適合以纖維為基礎的飲食。
在將來的情況下,可能會增加該枚舉,并添加更多的食物類型。 如果代碼塊必須更改。 同樣,如果在其他文件中使用了這種復雜的if語句,則必須更改每個文件。 不僅您將擁有巨大的if塊,而且還必須在每個文件上維護一個塊,這可能容易出錯。

為了避免這種情況,您可以將if語句的內容更改為一個函數。

package com.gkatzioura;import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set;import static com.gkatzioura.FoodType.*;public class DietFilter {private static final Set FOODS_WITH_PROTEIN = Collections.unmodifiableSet(new HashSet(Arrays.asList(FISH,RED_MEAT,WHITE_MEAT)));private static final Set FOODS_WITH_FIBER = Collections.unmodifiableSet(new HashSet(Arrays.asList(FRUIT,VEGETABLES)));public static boolean proteinBased(FoodType foodType) {return FOODS_WITH_PROTEIN.contains(foodType);}public static boolean fiberBased(FoodType foodType) {return FOODS_WITH_FIBER.contains(foodType);}}

因此,我們沒有在if語句中添加每種食物類型的案例,而是創建了一個函數來檢查給定的參數是否屬于特定組。

因此,您的if語句將變為此。

public String recommend(FoodType foodType) {if(DietFilter.proteinBased(foodType)) {//execute a procedure} else if(DietFilter.fiberBased(foodType)) {//execute a procedure} else {//execute a procedure}}

如果將更多食物類型添加到枚舉中,則開發人員將只需更改集合的結構并添加額外的食物類型。
這將比更改代碼的多個部分容易得多,并且可讀性更高。

翻譯自: https://www.javacodegeeks.com/2018/07/fixing-if-smell.html

總結

以上是生活随笔為你收集整理的解决气味的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美性猛交ⅹxxx乱大交3 | 亚洲精品乱码久久久久久久久久久久 | 亚洲av成人精品午夜一区二区 | 欧美日韩三 | 秋霞在线视频观看 | 伊人99| 亚洲无码久久久久久久 | 中文av一区二区 | 日韩av免费在线播放 | 91天堂在线观看 | 91av不卡 | 国产精品精品久久久 | 老湿机69福利区午夜x片 | 96av在线视频 | 一级在线毛片 | 九九九亚洲 | 日韩在线视频在线观看 | 午夜高清视频 | 久久成人综合网 | 精品h | 神马香蕉久久 | 自拍偷拍亚洲一区 | 精品人妻久久久久久888不卡 | 视频1区2区 | 日韩有码专区 | 中文字幕十一区 | 亚洲一级中文字幕 | 国产又粗又黄视频 | 美女网站av| 国产污视频 | 你懂的91 | 色综合国产 | 99久久精品免费看 | 久久久久a| 国产精品亚洲第一 | 色综合综合网 | 福利视频免费 | 综合国产视频 | 国产成人精品免费在线观看 | 69精品久久久久久久 | 小视频在线 | www午夜| 欧美日韩亚洲系列 | 伊人久久亚洲综合 | 日本国产精品视频 | 国产美女网 | 成人精品一区二区三区视频 | 毛片视频播放 | 中文字幕乱码亚洲无线三区 | 尤物网站在线观看 | 波多野结衣二区 | 狠狠操在线 | 无码精品人妻一区二区三区湄公河 | 丰满熟妇肥白一区二区在线 | 亚洲国产成人精品久久久 | 国产哺乳奶水91在线播放 | 亚洲视频网址 | 91免费看大片 | 国产高清一区二区三区四区 | 狠狠爱夜夜操 | 久久久伦理片 | 一区二区三区人妻 | 午夜av网站| 玉女心经是什么意思 | gav在线| 欧美不卡网 | 欧美色综合网站 | 国产精品天堂 | 精品一区二区av | 亚洲女人天堂色在线7777 | 五月天综合激情 | 国产精品美女www | 久久久久国产精品午夜一区 | 日韩av无码一区二区三区 | 久久久久久成人 | 久久视频中文字幕 | 91在线观看免费高清完整版在线观看 | 日韩人妻一区二区三区蜜桃视频 | 黄色污污网站 | 亚洲自拍色| 色黄视频在线观看 | 亚洲午夜激情视频 | 中国少妇初尝黑人巨大 | 亚洲一区二区三区电影在线观看 | 欧美xxxx黑人又粗又长密月 | 美女又爽又黄视频毛茸茸 | 中国人妖和人妖做爰 | 欧美性猛交xxxx乱大交俱乐部 | 色综综| 激情片网站 | 天堂av在线免费观看 | 国内成人精品 | 91玉足脚交白嫩脚丫 | 亚洲成年人影院 | av漫画在线观看 | 91久久久久久久久久 | 国产精品人人做人人爽 | 日韩精品免费在线观看 | 在线看片中文字幕 |