44得票14回答
这个坏习惯/反模式的名称是什么?

我正在尝试向我的团队解释为什么这是不良实践,并寻找反模式参考来帮助我进行解释。这是一个非常大的企业应用程序,因此这里有一个简单的示例来说明所实现的内容:public void ControlStuff() { var listOfThings = LoadThings(...

43得票21回答
嵌入式系统最糟糕的实践?

当开发嵌入式系统时,您认为应避免哪些“最差的做法”? 以下是我认为不应该做的几件事: 避免抽象硬件层,而是在代码中分散硬件访问。 没有任何类型的仿真环境,只有实际硬件可执行。 避免单元测试,可能是由于上述两点。 不以分层结构开发系统,使得较高层可以依赖于已调试和工作的低层功能。 选择硬件时...

40得票8回答
意大利肉饺式代码——为什么是反模式?

我最近听到了一个术语“神对象”,它被描述为一种“反面模式”。我之前听说过糟糕的编码实践,但从未听说过这样的说法。 于是,我去了维基百科寻找更多信息,发现有一种名为'意大利面条代码'的反面模式,其特点是由许多小而(理想情况下)松散耦合的软件组件组成。 我感到困惑- 为什么这是一件坏事?

35得票6回答
避免并行继承体系结构

我有两条并行的继承链:Vehicle <- Car <- Truck <- etc. VehicleXMLFormatter <- CarXMLFormatter <- TruckXMLFormatter ...

34得票13回答
什么是“意大利面条式代码”?

你能否提供一段过度复杂的意大利面代码的简短示例,可能说明它是做什么的?你能给我展示一下调试器的噩梦吗? 我不是指IOCCC代码,那是科幻小说。我指的是发生在你身上的真实例子... 更新 重点已从“发布一些意大利面代码”变为“什么是确切的意大利面代码?” 从历史的角度来看,目前的选择似乎是...

31得票6回答
依赖注入最佳实践和反模式

我在依赖注入方面的技能相对较低,希望学习一些在使用 DI 时要遵循的最佳实践和要避免的反模式。

31得票4回答
Java RMI的意义是什么?

为什么人们使用RMI,或者何时应该使用RMI?我读过Oracle网站上关于RMI的教程,但它没有提供足够的实际示例。 据我所知,软件应尽可能将其模块“无关且分离”。 RMI似乎对我来说是高度耦合的示例。为什么这不是一种糟糕的编码实践?我认为客户端应该只触发指令,而对象的所有实际操作都是由服务器...

30得票3回答
在控制器中使用Angular的$watch是一种反模式吗?

我一直在努力按照AngularJS的正确方式去做事情,目前正在阅读如何让控制器观察Angular服务中保存的模型变化的相关内容。 有些网站表示,在控制器中使用$watch是绝对错误的: 不要在控制器中使用$watch。它很难测试,并且在几乎所有情况下都是完全不必要的。使用作用域上的方法来...

29得票7回答
在PHP中扩展单例模式

我正在开发一个web应用程序框架,其中一部分包括多个服务,所有服务都实现为单例。它们都扩展自一个Service类,在这个类中实现了单例模式的行为,看起来类似于以下代码:class Service { protected static $instance; public fun...

28得票1回答
有没有针对函数式编程的已记录反模式?

下个月我将参与一个新的研发项目,该项目将采用函数式编程语言(我投票支持Haskell,但现在F#得到了更多的共识)。我已经玩过这样的语言一段时间,并使用它们开发了一些命令行工具,但这是一个相当大的项目,我正在努力提高自己的函数式编程知识和技巧。我也阅读了很多相关的内容,但我找不到任何记录函数式...