- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面我有返回月份名称的方法。在第一个实现中,我使用 switch/case,此方法较长,验证位于最后一行。在第二个中,我在第一行进行验证,而不是使用 switch/case 来声明带有月份名称的表。
当我考虑 KISS 和 DRY 原则时,哪一个更好?
public String getMonthName(int month) {
switch (month) {
case 1:
return "January";
case 2:
return "February";
case 3:
return "March";
case 4:
return "April";
case 5:
return "May";
case 6:
return "June";
case 7:
return "July";
case 8:
return "August";
case 9:
return "September";
case 10:
return "October";
case 11:
return "November";
case 12:
return "December";
default:
throw new IllegalArgumentException("month must be in range 1 to 12");
}
}
或者也许是这个?
public String getMonthNameNew(int month) {
if ((month < 1) || (month > 12)) throw new IllegalArgumentException("month must be in range 1 to 12");
String[] months = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
return months[month - 1];
}
最佳答案
我发现第二个更容易阅读。它更短,并且带有前提条件检查,可以立即告诉您允许哪些值。在第一个示例中,您必须浏览整个方法主体才能理解这一点。
综上所述,该方法应该使用 java.time.Month
编写如:
public String getMonthNameNew(int month) {
return Month.of(month).getDisplayName(TextStyle.FULL, Locale.ENGLISH);
}
关于java - 哪种实现更好(DRY 和 KISS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005340/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我对傅立叶变换的有限理解是,您应该能够在不更改原始数据的情况下在时域和频域之间切换。所以,这里是我(认为我)正在做的事情的总结: 使用 kiss_fft_next_fast_size(994) 确定我
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
我正在开发一个 C++ 项目,使用 FRDM-KL25Z 板来测量振动。我的代码正在运行,但我需要它循环运行。我的内存有问题,我没有足够的空间来存储两次值。我使用了 free() 命令,但即便如此我也
目录 封装变化 针对接口编程,不针对实现编程 多用组合(has-a),少用继承(is-a) 为交互对象之间的松耦合设计而努力 最少知识原则 LKP / 迪
前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAG
我目前正在尝试使用亲吻 fft 将 fft 实现到 avr32 微 Controller 中以进行信号处理。 我的输出有一个奇怪的问题。 基本上,我将 ADC 样本(使用函数发生器测试)传递到 fft
显然,YAGNI 和 KISS 之间存在语法差异,但我看不出它们之间有任何语义差异。它们本质上真的是一回事吗? 最佳答案 YAGNI(你不会需要它)指的是过度分析和实现可能需要也可能不需要的东西。当然
我正在尝试使用 visual studio 2013 让 kiss fft 在同一个应用程序中编译 float 和 double 实现。我看到我需要做的就是将 kiss_fft_scalar 设置为
什么是 KISS(Keep it Simple, Stupid)方法来记住 Boyce-Codd 范式是什么以及如何采用非规范化表和 BCNF? Wikipedia的信息:对我帮助不大。 最佳答案 C
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我从一年后开始工作,遵循 Scrum、TDD、领域驱动设计和 Uncle Bob 的食谱……但我对我们是否应用了各种原则有一些疑问,主要是在阅读 Martin 系列的“Java 应用程序架构”(从现在
我是 FFT 概念的初学者,所以我的理解是,如果我输入 1024 个信号,我将得到 513 个从 0hz 到 22050Hz 的 bin(在 44100Hz 采样率的情况下)。在 Cinder 中使用
我正在使用 couchDB 并开始实现身份验证/授权。我发现最好和最简单的解决方案是通过 ssl 连接传递凭据,但我不太确定这种策略是否能确保我的站点真正安全。 我可以保留这个策略,购买一个真正的 s
我在编译我的程序时遇到问题。我在我的项目中使用 Kiss FFT 库,但是当我尝试构建它时,我遇到了这些错误: [Linker Error] Error: Unresolved external '_
标题解释了我的问题。 我想做的很简单: 加载 MP3 轨道(通过 libmpg123) 阅读样本 对样本应用 Kiss FFT 到目前为止我尝试了什么 inline float scale(kiss_
我已经从 here 下载了 kiss fft | .但我不知道如何在 Visual Studio 中使用它。例如,在 Visual Studio 中创建一个空的 win32 项目后,我应该如何复制粘贴
如何将 kiss fft 库添加到 Visual Studio 2012 项目?因为我想编译这段代码: #include "kiss_fft.h" #include "kiss_fftr.h" kis
是否有基于 javascript 的配置应用程序框架的简单约定,其外观和感觉就像开箱即用的富客户端应用程序?例如,有是GWT ...但它很重(即它需要编译)。 更具体地说,考虑到像 JQuery 这样
我有两个模型: 服务器(属于从属) 从站(有许多服务器) 在 Controller 中,我需要获取一个包含服务器/从站信息的数组(以及一些附加信息,例如 Controller 中无法包含的业务逻辑)。
我是一名优秀的程序员,十分优秀!