草庐IT

c# - 使用相同名称的包/命名空间和类是一种好习惯吗?

我正在创建一个新的命名空间,其中一个类的最恰当名称似乎与命名空间同名。这是一个好习惯吗?如果不能,还有什么选择?例如:com.person|---Person.(java/cs)|---PersonDetailChecker.(java/cs)|---PersonNameGenerator.(java/cs)讨论同一问题的相关问题:Shouldaclasshavethesamenameasthenamespace?Howtoavoidhavingthesamenameforaclassandit'snamespace,suchasTechnology.Technology?

java - 将 Realm 与 try-with-resources 一起使用是一种好习惯吗?

很多地方建议在Activity的onCreate方法中调用Realm.getDefaultInstance(),并调用close在onDestroy中的Realm实例上(或在presenter的相应方法中)。但是,对我来说,使用Java的try-with-resources结构会更干净:try(finalRealmrealm=Realm.getDefaultInstance()){//dostuff}为什么要清洁?IMO更容易管理realm实例的狭窄范围。在生命周期的某个时刻获取实例并在另一个时刻关闭它,这让我想起了过去使用C++的日子,那时我们不得不担心在正确的时刻调用delete。

java - 在 java 中使 String 无效是一种好习惯吗

这个问题在这里已经有了答案:Whyischar[]preferredoverStringforpasswords?(18个答案)关闭4年前。我在将普通密码作为字符串存储在内存中时遇到问题。根据引用文献,由于字符串是不可变的,因此使用字符串数据类型存储内存中的敏感数据存在漏洞。https://www.geeksforgeeks.org/use-char-array-string-storing-passwords-java/Whyischar[]preferredoverStringforpasswords?我能否通过使字符串变量无效而不是使用字符数组或字符串缓冲区/生成器来解决此安全问

java - 对每件事都有特定的异常(exception)是一种好习惯吗?还是重用更抽象的异常更好?

我正在处理一个项目,其中我为每种可能的异常情况编写了一个异常。关键是我发现它更具“可读性”,但我收到了大量不同的异常。这样做被认为是一种好的做法吗?或者我应该只写更抽象的异常,以便没有那么多?非常感谢您的宝贵时间。 最佳答案 哪个更好取决于您的代码捕获特定异常的可能性。如果您只可能捕获(或以其他方式区分)更一般的(父类(superclass))异常,那么拥有许多更具体的(子类)异常并不会取得多大成就。在这种情况下,最好定义更少的异常并使用异常消息来表达出错的更详细信息。另一方面,如果特定的异常已经存在,那么使用它们是有意义的。只是抛

java - 如果构造函数抛出异常,是否不调用 try-with-resources 习惯用法的 close 方法?

我有一个基类Base和一个扩展它的子类Child。Base实现了java.lang.AutoCloseable。假设Child的构造函数抛出一个Foo。现在考虑try(Basec=newChild()){/*Somecode*/}catch(finalFooe){/*Somemorecode*/}如果抛出异常,是否调用Base#close方法?它不在我的机器上,但这是JLS标准化的东西吗? 最佳答案 是的,close不会被调用。这在JLSsection14.20.3中指定:Resourcesareinitializedinleft-

main 方法的 Java 习惯

我编写的代码主要供个人使用,但我正在考虑发布我最初开发供个人使用的应用程序(科学模拟/可视化)。我的一个习惯是在类中使用一个main方法来单独测试类的运行情况。我认为这在某种程度上可能是不好的(毫无疑问,来自自学和科学发展环境的各种其他习惯也是如此)。但是,我注意到自用的东西从来都不是问题。你们能否确认(或否认)电源的扩散对于向科学界发布的应用程序来说是一个问题(来源也将是开放的),如果是这样,为什么?编辑:相对于所提供的一些答案扮演魔鬼拥护者(好吧,我的拥护者):“应用程序使用”的一部分预计将由非开发人员(典型的科学家)进行小规模的源代码修改。我知道在接收端,将一个类的测试直接构建到

java - 从任务本身重新提交/安排任务 - 这是一个好习惯吗?

考虑我们有一个预定的执行程序服务:ScheduledExecutorServicethreadPool=Executors.newScheduledThreadPool(...);对于某些逻辑,我们希望重试任务执行。以下方法对我来说似乎很奇怪,但我不明白为什么:threadPool.submit(newRunnable(){@Overridepublicvoidrun(){//...if(needToBeScheduled()){threadPool.schedule(this,delay,TimeUnit.MINUTES);}elseif(needToBeResubmitted())

java - 在 Java 的 setter 中抛出 Exception 是一种好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion更具体地说,我想编写一个代码,在给定值为负数时抛出IllegalArgumentException。我应该在setter/constructor中包含这段代码,还是应该在调用适当的方法时检查值?(例如:start()、init()、print()或run()。随便吧。)我的代码(简化版):publicclassLLUAlgorithm{privateinttemperature;publi

java - 多个应用程序的单个 logback.xml 文件是一个好习惯吗?

我的Tomcat服务器上部署了多个应用程序。起初每个人都有一个logback.xml文件打包在WEB-INF/classes中。然后我在公共(public)类路径上的Tomcat部署目录之外放置了另一个目录,在那里放置了一个logback.xml并将其他目录从应用程序中排除。这样做的原因是我希望可以在一个地方方便地配置日志记录。不幸的是,现在要求将每个应用程序记录到它自己的文件中。由于我认为使用此设置实现这一点并不容易,因此我想知道此设置是否真的那么好。你怎么看? 最佳答案 Unfortunatelythere'stherequir

java - 使用 'this' 作为不良编码习惯的显式构造函数调用?

一位教授告诉我,使用this显式调用构造函数是“糟糕的编码实践”,并因此受到处罚。但是,我无法在任何java样式指南中找到任何我已经以某种方式查看过关于它的评论的内容。最重要的是,它似乎是在我见过的相当多的编码示例中完成的。我希望得到一些关于这是否是糟糕的编码实践以及原因的意见。我所指的例子:publicclassSomeClass{privateinta;privateintb;publicSomeClass(){this(0);}publicSomeClass(inta){this(a,0);}publicSomeClass(inta,intb){this.a=a;this.b=b