【发布时间】:2020-10-18 05:35:22
【问题描述】:
在 Typescript(或 JavaScript)中,我总是尝试以这样一种方式编写,即如果我(或其他开发人员)必须在一年内接触我的代码,那么很容易理解正在发生的事情。所以我不会试图找到最短的代码,而是更清晰的代码。
我不担心文件的大小,因为我在生产中知道这个功能:
function myFunction(value: number) {
if(otherFunction(number){
return true;
}
if(yetAtherFunction(number){
return true;
}
return false;
}
将转换为:
function myFunction(n){return!!otherFunction(n)||!!yetAtherFunction(n)}
在 kotlin 上会发生类似的事情吗?
我问是因为我发现这种代码:
val myDrawable = item?.image?.let { Uri.parse(it.toString()) } ?: R.drawable.my_default_image
对我来说,快速解析以了解正在发生的事情并不容易,为什么要进行 PR 或类似操作。
如果我用更冗长的方式写,它会对最终 apk 的大小产生影响吗?
重要:
澄清一下,我不是在问is it better to write in this or that way?,我是在问编译器是否尝试像 typescript/javascript minifier 那样优化输入。
【问题讨论】:
-
诚实地写下对你来说正确和清楚的东西。编译器已经变得非常高效,除非您发现性能问题,否则不需要预先优化。什么是“干净的代码”或“可理解的代码”是一个见仁见智的问题。
-
它被编译为与您编写的语言不同的较低级别代码(字节代码),因此您的问题并不真正适用。