我一直在解决一个问题,但我不确定风格/功能明智,这通常被认为是最佳实践。
我有一个函数,可以对同一字符串进行多次检查,并根据该字符串返回一个值。使用堆叠式 if 语句或 if-elif-else 语句是更好的样式或功能吗?
例子:
def f(s):
if s == 'Hey':
return 'Sup.'
if s == "How's it going?"
return 'Not bad.'
return 'I have no idea what you said.'
Run Code Online (Sandbox Code Playgroud)
或者
def f(s):
if s == 'Hey':
return 'Sup.'
elif s == "How's it going?"
return 'Not bad.'
else
return 'I have no idea what you said.'
Run Code Online (Sandbox Code Playgroud) 对于 Kotlin 中的任何类,我通常都有一堆不同的属性。我想知道这些属性根据其类型的排序是否有任何转换。我使用的基本类型是
var fieldsprivate var fieldslateinit var fieldsprivate lateinit var fieldsval fieldslazy fieldsprivate lazy fields常见的分类是在同一组中声明相同类型的属性。然后我所做的就是尝试先声明公共字段,然后声明私有字段。lazy我想知道,说和的第一个怎么样lateinit?或者之后会发生什么var?private var或lateinit var或lazy val?
好吧,我知道人们可以随心所欲地写,但我想知道是否有任何约定,根据属性的某些未指定级别列出属性?
所以我完全使用 isPresent 而不是使用 == null 来检查对象是否成功返回,但我觉得我陷入了用 isPresent 乱丢代码的坑。
所以假设我有一堆不同的端点来检索或更新模型。我希望在他们每个人的开头都没有 isPresent 检查这个对象是否存在!
例子:
Optional<Object> myObject = objectRegistry.get(name);
if (myObject.isPresent()) {
doSomething();
} else {
throw new ObjectNotFoundException(stampName);
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找解决这种乱扔垃圾的最佳实践,我可以想象其中一种解决方案是使用一种方法来执行此检查,并且我可以随时调用它,而调用它的其他方法将不得不抛出 ObjectNotFoundException
我想知道是否有任何方法可以简化这个 if/else 语句,只是想找到解决这个问题的内联方法(由于实验目的,变量是微不足道的:
var a = false;
var b = false;
var condition = true;
if (condition) {
a = true;
} else {
b = true;
}
Run Code Online (Sandbox Code Playgroud)
我把它当作与同事的代码挑战,如果有这种感觉,请加入我们,干杯 :)
std::unordered_map<std::string, std::unordered_map<std::string, float>> variable_name;
对于一行来说太长了。那么,推荐的代码风格是什么?我现在使用以下内容。
std::unordered_map<std::string,
std::unordered_map<std::string, float>> variabl_name;
Run Code Online (Sandbox Code Playgroud) 我想为 const 分配一些值,它曾经是这样的
const int x = animal == "cat" ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)
但现在,我想要这样做,如果animal == cat,则分配0,如果dog返回1,否则2到const。嗯,实际上,事情没那么简单,但可以说使用方程 a,在本例中使用方程 b,在本例中使用方程 c。
当然,我总是可以做类似的事情
const int x = FunctionToHandleIt();
Run Code Online (Sandbox Code Playgroud)
但逻辑就是这么简单。我认为代码直接写出表达式要干净得多,这样人们就可以查看它并确切地知道当时发生了什么,而不是通过函数的标题和定义来查看发生了什么。
处理这样的情况,将一些东西分配给超过几行的 const ,更好的方法是什么?但是,不值得为它创建一个完整的函数吗?
我的目的是尝试编写一个尽可能简洁的函数。
int func(void)
{
int a;
return (
a = 42,
a++,
if (a > 42) a *= -1,
a);
}
Run Code Online (Sandbox Code Playgroud)
我本来期待返回-43。相反,我遇到了编译错误。
在许多代码审查中,他们建议不要使用 i, j 作为变量。是否有任何特定原因避免在 for 循环中使用 i, j。
例如
for (int i=0; i<10; i++ )
{
}
Run Code Online (Sandbox Code Playgroud) 在我的代码中,我需要创建FileInfo/StreamWriter类的对象.它可以通过两种方式完成
FileInfo file = null;
try
{
// now instantiate the object
file = new FileInfo()
}
Run Code Online (Sandbox Code Playgroud)
要么
try
{
FileInfo file = null;
file = new FileInfo()
}
Run Code Online (Sandbox Code Playgroud)
哪一个更好?GC处理对象的方式有什么不同吗?
我是编程新手,我不明白为什么我们应该在 HTML 中使用多个类。我的意思是,无论如何,即使它是一个类或多个类,所有 CSS 样式都将仅应用于相同的内容/文本,那么当单个类执行相同的操作时,多个类有什么用呢?
coding-style ×10
c++ ×2
.net ×1
android ×1
c ×1
c# ×1
c++17 ×1
code-cleanup ×1
conventions ×1
css ×1
ecmascript-6 ×1
html ×1
if-statement ×1
java ×1
javascript ×1
kotlin ×1
optional ×1
pep8 ×1
python ×1