草庐IT

php - 在单元测试中模拟被测试的对象是不是很糟糕?

这是我正在单元测试的类。目前我正在测试doSomething函数:classFooClass{publicfunctiondoSomething($user){$conn=$this->getUniqueConnection($user->id);$conn->doSomethingDestructive();}privatefunctiongetUniqueConnection($id){returnnewUniqueConnection($id);}}如您所见,doSomething函数根据它接收的参数的属性获取UniqueConnection的新实例(我未在此处测试的类)。问题是

java - 在库中捆绑 log4j.properties - 糟糕的风格还是什么?

我发现了一个不错的Java小型Web请求框架:Spark.API看起来不错而且很有前途,但是库包本身很奇怪。撇开它建议使用快照工件作为依赖项这一事实不谈。撇开它使用log4j进行日志记录这一事实(现在图书馆倾向于使用jcl或slf4j),有时使用System.out.println。但它在spark-xxx.jar中捆绑了自己的log4j.properties。我花了一个小时来调查为什么当log4j.properties肯定存在于我的类路径中时我的项目会提示log4j配置。-Dlog4j.debug=true给出了答案,log4j承认它已经从sparkjar加载了log4j.prope

java - 最糟糕的警告 : Slave exited abnormally due to TIMED_OUT

我应该如何摆脱这个警告并为pitest添加超时常量?我的命令是:mvnjacoco:reportorg.pitest:pitest-maven:mutationCoveragesonar:sonar-Dpitest.timeoutConst=8000但它抛出:警告:由于TIMED_OUT从站异常退出 最佳答案 您不太可能摆脱所有警告-它们是在突变创建无限循环时生成的。Pitest通过将每个测试的执行时间与不存在突变时所花费的时间进行比较来检测这些。如果测试需要更多的时间来运行,那么该进程将被终止并将突变标记为超时。pitest报告警

java - 这是糟糕的 OO 编程吗?通过方法传递下来

好吧,假设我有一个类,X和X是与其他对象具有聚合关系的东西。让我们假设X是一个足球场。X满堂课观众。然而,每个观众对特定Activity的行为是不同的。除了IF语句,我希望不同的行为出现在观察者类中,这样我就可以使用动态绑定(bind)。但是,问题是观众的行为影响了“足球场”类。所以我想通过一种方法将“this”从足球场类传递给观众类,以便观众类可以对足球场类做些什么?publicclassSoccerStadium{SpecatorInterfaces=newSpectator();publicvoidSpectatorBehaviour(){s.doSomething(this);

java - 为什么我生成的 Javadoc 看起来很糟糕?

我正在尝试为我的项目生成JavadocHTML文件。我通过MavenJavadoc插件(maven-javadoc-plugin)生成它们。我正在使用Maven2.2.1。生成的所有内容都包含所有正确的信息,但HTML看起来很糟糕。太糟糕了,我不想那样发布。这是一个屏幕截图:(注意:是的,我看到“JavaScript在您的浏览器上被禁用”消息。即使我点击IE8关于Activity内容的警告并启用它,也没有任何区别)有各种不必要的换行符,基本格式也很垃圾。我错过了什么吗?如果我将鼠标悬停在一个类或方法上并看到弹出的Javadoc面板,我希望看到生成的Javadoc看起来与我在Eclips

java - Java 中有很多异常是糟糕的设计吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我目前正在用Java包装一个C库,使其更易于在OO编程中使用和工作。C库使用错误代码(int返回值)和Out-Parameter进行数据操作。我不一定喜欢错误代码,所以我想创建一些自定义异常类,如果我的库检测到“成功”以外的错误代码,我可以抛出这些类。唯一的问题是每个方法可能引发的异常数量非常多(每个C库函数都可能返回一些错误代码,例如“Device_Not_Connected”)。自从我

java - 这是糟糕的编程吗?扫描仪作为全局变量

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion将输入扫描器(例如键盘)声明为类的全局变量是否被认为是不好的编程习惯?比如:privatestaticScannerinput=newScanner(System.in);我正在处理来自各种方法的大量输入,而且似乎比将键盘发送到每个方法要容易得多

uri :: invalidurierror:糟糕的Uri(不是Uri?):Heroku Redis错误

我正在尝试在Heroku上推我的Rails应用程序,我正在使用HerokuRedistogo插件,我已经完成了此操作教程并经历了那里提到的所有步骤。但是,在推动Heroku时会遇到这个错误:remote:rakeaborted!remote:URI::InvalidURIError:badURI(isnotURI?):通过我的Heroku日志,我发现了这一点:2017-07-13T10:06:32.602356+00:00app[web.1]:[4]*Minthreads:5,maxthreads:52017-07-13T10:06:32.602356+00:00app[web.1]:[4]*

糟糕的 if-else 或 switch 结构的 Java 替代方案

寻找现代方式来实现字符串转换以替换难看的if-else或switch结构:if("UK".equals(country))name="UnitedKingdom";if("GE".equals(country))name="Germany";if("FR".equals(country))name="France";if("IT".equals(country))name="Italy";[...]或switch(country){case"UK":name="UnitedKingdom";break;case"GE":name="Germany"break;case"FR":name

java - 单击边框时 JComboBox 弹出窗口立即出现和隐藏(糟糕的用户体验)

当您有一个swingJComboBox并单击其边框时,弹出窗口会立即出现并消失。当我说单击时,我的意思是按下鼠标左键并立即松开。这可能被认为是糟糕的用户体验,因为没有用户会期望它发生。单击组合框的边框时,任何用户都会期望以下行为之一:要打开并保持打开状态的弹出窗口,或者根本不打开。肯定没有用户会期望弹出窗口立即打开和关闭。用户不是故意点击边框的。但是当组合框很小并且他试图快速点击它时,它可能会经常发生。在2000年,有人将此行为注册为openjdk站点中的错误:https://bugs.openjdk.java.net/browse/JDK-4346918他们已将其识别为一个错误,但通