code-smell

    1热度

    3回答

    如果我有一个类,这个类有很多属性。现在我想创建一个属于这个类的具体方法,它应该带6个参数。 我的问题是: 我应该创建这种方法为静态方法,并通过六个 参数? 或 创建一个实例方法,以避免将许多参数?(填充的对象,而不是传递参数) 在这里,我问从对象的最佳实践面向设计的视角。

    12热度

    5回答

    如果我有一个类以某种方式表示映射到我的数据库中的特定表。 此类包含约30个属性。 我创建了CRUD Methods。 并发现自己需要另一个(UPDATE)方法,它应该只更新两个字段。 我应该用一个简单的例子以良好的方式做什么? 用我的存在的方法,填补了整个对象,并更新所有包括我打算两个字段的字段?(无用功)与另一名 - 创建静态方法(但我要保持我的方法名的Cuz它的表现力)!!并且需要两个参数?

    1热度

    2回答

    我目前正在使用您可以称为遗留代码的工作。我基本上有一个处理工作流的类,每次启动机器时都只进行一次实例化。每当新用户使用这台机器并登录时,就会启动一个新的“会话”,但我们保持这个类的同一个实例。为了简单起见,可以说这台机器是一台自助服务机器。 这基本上意味着每次新用户会话开始时,我们需要将所有流量变量重置为其默认值。 所以通常我会实例/成员变量如: boolean didUserPressYes;

    3热度

    1回答

    我answered a question regaurding一ImmutableMap。我建议使用代理模式。 问题在于Map包含put方法,该方法会抛出UnsupportedOperationException。用ImmutableMap代替Map的其他实例将打破Liskov的替代原则。不仅如此,需要申报put和putAll [违反接口隔离原则] 从技术上讲,是没有办法用ImmutableMap

    1热度

    1回答

    我正在写一个函数,在两个不同的服务上调用两个不同的方法。我调用了一个对service1执行操作的方法,并且在调用成功时(没有抛出异常),我调用调用service2的方法。 我的代码如下: def action1(param1: String, param2: String): Option[String] = { try{ //Check if service1 contain

    -1热度

    1回答

    我试图表明有人在这里我怎么好找声纳 工具... 后来我写了一个小的Java项目,并定义了许多故意臭方法,那些 2完全相同(复制粘贴+)DO1和DO2 surprisenly,运行后Sonnar镜头,没有重复的错误,也没有警告...... public void do1() { for (int i = 0; i < 10; i++) { if (i != 0) {

    1热度

    4回答

    只是踢我决定写一个片段,它需要一个整数并将其转换为二进制。它似乎在执行转换,但我想知道是否有什么我可能会从这里错过。得到一些反馈意见会很好。 由于 def convertToBinary(n: Int, bin: List[Int]): String = { if(n/2 == 1) { (1::(n%2)::bin).mkString(" ") } else {

    2热度

    2回答

    说我有一个下面的代码,可能不是很好的例子,但我只是想到了它;)。这是在java中, void saveData(Person person) { .... changePerson(person); .... personDAO.save(person); } void changePerson(Person person) { per

    0热度

    1回答

    在我加入的一个项目,最近我们有一个类,看起来像这样: class MethodReturn { public int status = C_OK public string message = "" public string str_value = "" public int int_value = 0 public double dbl_val

    0热度

    3回答

    我创建了一个类,它是一个tuple包装器,元组不支持项目突变。 我应该离开__setitem__和__delitem__的实现或实现像例如下面(因此属于Refused Bequest代码的气味)?哪种方法更pythonic?在这种情况下,定制异常是否更好? def __setitem__(self, key, value): """ :raise: Always. :