我正在学习Java,我想知道每个人的Java规则是什么.您本质上知道的规则,如果您看到有人破坏它们,您会尝试纠正它们.让你摆脱困境或帮助改善事情的事情.你永远不应该做的事情.你应该经常做的事情.初学者不会知道的规则.
阅读Bloch的Effective Java.
这正是你所要求的,一套用于编写真正优秀的惯用java代码的规则.
好的,头脑风暴:
在类和对象中思考,而不是在函数中思考.
避免空的catch子句(特别是catch(Throwable t){})
处理错误,不要忽略它.
手柄只有类型你想在这个地方你来处理例外的可以处理它.
使用Javadoc.
让你思考你在做什么.
开发时生成文档.
允许像Eclipse这样的IDE在使用您的类和方法时显示提示.
尝试使用泛型和注释来习惯它.
还有更多,但那些第一个进入我的脑海.
顺便说一句,如果你从初学者升级到专家,你将知道何时对这些规则做例外;)
我的一个是遵守Sun编码惯例.
如果你重复自己,比如通过复制和粘贴,你做错了.Java是一种OO语言,以这种方式使用它.
如果您没有使用设计模式,那么您正在重新发明轮子.令人惊讶的是,原始GOF设计模式可以最好地解决许多问题.只有在审查完这些之后,你才能做些不同的事情.
保持您的方法名称长,您的参数名称是描述性的,但您的方法简短.这有点主观,但是你将事物分开的越多,修复和重用代码就越容易.如果你无法解释你的方法在句子中做了什么,你要么有一个通常很复杂的问题,要么你的方法更有可能试图做太多.
避免让每个对象做太多.查看对象上的名称.如果对象中有与对象名称无关的方法,请将它们移动到可能属于的位置.
方法重载很好,它可以节省你在各地的类型转换.
尽量避免"聪明",这样会让你更难理解你编写的代码.尽可能多地使用该语言的内置功能(例如迭代器).做最简单的事可能有用.你以后会感谢自己.
即使您是一名独自工作的开发人员,也必须进行源代码管理.它比我可以计算的更多次地挽救了我的脖子.
在初始调试之后,什么都不应该硬编码.对于跨应用程序使用的项目(例如环境和相关消息),请在数据库中存储尽可能多的项目.如果您认为这些项永远不会改变,请使用属性文件和全局java文件,以确保您确信永远不会改变,因为它们会.
使用您的IDE自动格式化您的代码,即使它使它变得丑陋,从长远来看,您仍然会更好.
如果有一个众所周知,可靠的框架,请使用它.即使您认为自己的MVC框架非常酷,JSF或Struts也会比您自己开发的任何东西都要好.与持久性相同的东西,使用主流的东西.尽可能尝试使用尽可能少的框架.你可能会给你的朋友们留下一个使用Hibernate的Spring,Shale,JSF,Struts项目以及你自己开发的其他框架,但实际上只是为了复杂而复杂化.
你要记录你的代码!
您必须记录您编写的所有代码.当你回来并在3个月后阅读它时,至关重要的是你已经对代码的作用留下了一些提示.
你不应该记录什么的代码做什么,因为它是在那里,在代码中.
你应该,但是,文件为什么代码是存在的.从长远来看,你会从"为什么"的评论中获得更多的好处,然后是"什么"评论.
如果很难记录,你可能没有充分考虑这个问题.
平等比较
在进行相等性比较时,请考虑是否要比较值相等(两个对象具有相同的值)还是引用相等(它们是完全相同的对象实例).为了参考相等,使用==
运算符; 对于值相等,您通常会想要使用该.equals()
方法.
(请注意,非核心Java类可能有也可能没有有意义的.equals()实现;大多数核心类都有一个很好的.equals()实现.)
例如,一个常见的错误是做(string1 == string2)
尝试,并确定字符串变量是否string1
和string2
表示相同的字符串值.
永远不要在AWT事件派发线程中执行耗时的任务,否则您将拥有一个无响应的GUI.