Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
标识符中的Java变量类型_Java_Naming Conventions - Fatal编程技术网

标识符中的Java变量类型

标识符中的Java变量类型,java,naming-conventions,Java,Naming Conventions,如果我把变量类型放在它们的标识符中,这是一种糟糕的做法吗。 像这样: String nameString = "Sergio" String birthdayString = "January 2, 1990"; DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH); Date birthdayDate = dateFormat.parse(birthdayString); String file

如果我把变量类型放在它们的标识符中,这是一种糟糕的做法吗。 像这样:

String nameString = "Sergio"
String birthdayString = "January 2, 1990";
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
Date birthdayDate = dateFormat.parse(birthdayString);
String filePathString = "/etc/passwd"
final File PASSWD_FILE = new File(filePathString);
我发现一眼就能看出变量是什么类型很有用,但我可能会遗漏一些东西,做一些愚蠢的事情。 你能给我一些建议吗?
对不起,我的英语不好。

这纯粹是个人的选择(比如长变量名,太多或太少的注释)

如果编译器要捕获数据类型问题,那么不需要类型声明就可以编写代码,并以更抽象/逻辑的模式来考虑程序。这将鼓励程序员思考并集中精力解决问题,而不是陷入语义的泥潭


但是,如果它有助于你的程序可读性,那么一定要使用它。您和其他人能够阅读和理解代码是很重要的。做任何有帮助的事情。

。使用一个合格的IDE,你可以在任何时候悬停任何变量来查找声明的类型(如果你真的需要),但是如果变量的类型在上下文中不清楚,你通常会遇到更大的问题。在你更新的示例中,一些“变量”实际上是常量,应该有更易懂的名称,比如
AMERICAN_DATE_FORMAT
(JDK中实际上提供了这个名称,至少在Java 8 DATE/time中是这样)。我使用IntelliJ,当我悬停变量时它不会声明变量类型(但可能我不知道如何正确使用IntelliJ),即使它这样做了,只要看一下代码就会快得多。唯一的常量是PASSWD_文件,现在我更正了它。