问题标签 [code-maintainability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
480 浏览

css - CSS 子宽度 100% 或 px 问题

也许是一个简单的问题,一个简单的答案。

今天我想知道以 px 或 100% 为单位的子宽度之间有什么区别,当子宽度与父宽度完全相同时。结果将与我知道的相同,但是最好使用什么?

例子;

有关系吗?你用哪个?

0 投票
1 回答
29 浏览

maintainability - 一个大的实用程序或分成不同的部分?

我正在编写一个应用程序,其中将涉及一些程序员。我们在管理源代码时遇到了一些问题。我们通常有一个 Utility.php,它在不同的用户之间共享。所以,我们制作了一个大的 utility.php ,每个人都在调用它...

但是我们发现一个问题...当我们要分离项目时,例如我们有CMS的字体端,和后端。当我们想要分离现有项目时,我们需要将大的utility.php 分离到不同的地方,或者复制一次或者在其他之间同步。因此,我们正在考虑使用仅在相关类中使用的不同小实用程序。有什么建议么??

当前:FontEnd.php 正在调用 --> Utility.php BackEnd.php 正在调用 ---> Utility.php

考虑: FontEnd.php 正在调用 --> StyleUtility.php, ClientUtility.php, bababa BackEnd.php 正在调用 ---> DBUtility.php, MaintainUtility.php , ababba

0 投票
2 回答
227 浏览

asp.net - ASP.NET MVC 到具有 BusinessLayer 的现有 ASP.NET 应用程序。从现有 BusinessLayer 加载 ViewModel 对象的更好方法?

我有一个遗留的 asp.net Web 应用程序,它有 2 层,UI 和 BusinessLayer。UI项目是ASP.NET网站类型,BL是类库类型。BL 项目为我的应用程序的实体提供类,如客户、用户、员工等。每个类都有从数据库读取和从 DataReader 填充对象属性的方法。这意味着客户类包含我的客户对象和数据访问方法.

现在我也更改了 Web 应用程序以支持 MVC。旧网站(webforms)像以前一样工作,我正在制作的网站的新升级(添加管理功能来管理网站)在 ASP.NET MVC3 中。路由和一切正常。但我担心项目的结构/可维护性。

对于新的 MVC 部分,我必须为 CustomerViewModel、EmployeeViewModel 等少数实体创建 ViewModel。我创建了另一个名为“ CustomerService”的类,使用类似的方法GetCustomerViewModel,在该方法内部,我GetCustomerMethod从现有的 BusinessLayer 调用并从对象(现有 BL 项目中提到的实体类型)读取属性值并将其分配给CustomerViewModel(我将研究一些AutoMapper 稍后会为这个对象采样并从这个方法中返回它。我的视图将使用此对象在 UI 中显示数据。我创建“ CustomerService”类的原因是,在将值设置为 CustomerViewModel 对象之前,我可能需要进行一些条件检查或一些业务验证。我认为这是一个“中间层/服务层”,这样我的控制器就会很薄。

从我的客户控制器

在我的 CustomerViewModel

这是一个错误的方法吗?我的代码会乱吗?我对 ViewModel 不满意,因为它(几乎)是我现有 BL 实体的重复代码。解决这种情况的最佳方法是什么。我不确定在这种情况下是否使用存储库模式(我在大多数示例中都看到了)?我应该这样做吗?它将如何改进我的代码?

0 投票
3 回答
330 浏览

c - 嵌入式软件可维护性 - 配置

我正在开发一个嵌入式软件,它可以在两到三个不同的微控制器系列上运行。现在我们有读取配置开关并进行编译的生成文件。

对于开发人员和非开发人员来说,通过编译开关和构建配置来保持更新的过程变得越来越乏味。我知道 Linux 内核使用 ncurses 来生成编译配置。我正在寻找一个类似的工具,但跨平台。它应该在 Windows 和 Linux 上运行。我知道这仍然不能解决问题,但它对非开发人员更有吸引力,我也可以快速分享我的 .config 文件或将其与现有文件进行比较。配置将按特定顺序排列,此处的差异工具将有所帮助。

任何人都可以分享他们在类似项目维护或参考项目(多个微的嵌入式和通用代码库)方面的经验。只想知道最佳实践。

PS:使用 C 语言,8/16 位 micros,没有操作系统,只是基于计时器的批处理调度程序(裸机)

0 投票
1 回答
50 浏览

web-applications - 在开发企业 Web 应用程序时,包含出现在多个页面中的一个元素或一组元素的最佳方式是什么?

例如:如果我有一个导航部分,其中包含许多链接/按钮,并且需要包含在多个页面 (jsps) 中,那么以可维护的方式执行此操作的最佳方法是什么?我会通过 jsp 包含来做到这一点吗?

0 投票
4 回答
4623 浏览

java - 如何实现和维护多个 actionListener

好的,我有一个包含多个 Menu 和 MenuItem 的类(我们称之为:MenuBarClass)。我想为每个 MenuItem 分配一个动作侦听器,但是.. 而不是做类似的事情:

我希望我的代码更易于维护,而且……更重要……我不想在一个巨大的 ActionListener 类中出现很多“如果”,例如:

如果可能的话,我该怎么做?任何人都可以帮忙吗?

0 投票
1 回答
81 浏览

jquery - 在大型应用程序中安排 jquery 事件绑定的正确方法

在高度交互和动画客户端 Web 应用程序中工作时,我们高度依赖 jQuery 库并大量使用它们的事件。

在大型企业应用程序中,这导致事件、它们的回调以及进一步到它们的 4 位代码行的内部方法调用的大连接。这开始看起来像是一个装满面条的巨型容器或一个充满难以调试的 goto 标签的巨大程序。

我的问题是,我们如何才能以更干净、可读和可维护的方式安排事件、回调和相关过程?在 Java 中,我们可以有不同的设计模式和单独的类来处理这个问题。我们如何在javascript中实现这一点。

先感谢您。任何少数链接也将受到高度赞赏

0 投票
5 回答
11891 浏览

jquery - JQuery 类选择器与 id 选择器

我有 7 个不同的按钮,它们在点击时都执行相同的 javascript 功能。我应该使用类选择器还是 id 选择器。

或者

各自的优点和缺点是什么?哪个更优选。

0 投票
1 回答
62 浏览

css - 连接类是好的做法吗?

为什么我经常在常用库中看到.closed-dialogueand而不是and ?.open-dialogue.closed.dialogue.open.dialogue

每个元素一个类的问题

要使用第一种方法格式化所有对话,您已经需要选择器中的两个类。

每次您添加另一个差异时,fe 一些颜色,您将乘以选择器中的类数:.warning-dialogue-closed, .error-dialogue-closed, .warning-dialogue-open, .error-dialogue-open

现在这怎么可能是好的做法?这很难维护!

你甚至不能在模块中分离你的代码,因为对话的基本选择器需要知道所有存在的对话!

每个元素有几个类解决了这个问题

通过连接多个类,代码会更短、更易于维护且更易于阅读:

.dialogue格式化所有对话,无论您有多少不同。

.error.dialogue并且.warning.dialogue会为任何一种口味添加变化。.open.dialogue.closed.dialogue会照顾其他差异。

你甚至可以有另一个独立的模块来定义大小对话,而基本模块甚至不必知道它。

那为什么我从来没有见过这个?

0 投票
2 回答
703 浏览

java - 如何实现重试后逻辑?

我最近正在开发一个应用程序,并且有一个用例,我向客户端返回一组响应,例如 ALLOW、DENY 和 PENDING。

假设服务返回的响应是 PENDING,我希望客户端在给定时间间隔后重试。这个间隔由服务器给出。

我想知道围绕这种用例建模我的服务响应的最佳实践是什么。我想有这样的回应:

字符串决定;长重试间隔时间;

但是对于决定 ALLOW 和 DENY,retryIntervalInMinutes 没有意义,不应返回。

对此建模的一种方法:

决策 - 抽象类 Allow 扩展决策 Deny 扩展决策 Pending 扩展决策

只有 Pending 对象将包含 retryIntervalInMinutes。

但这有其自身的问题,例如客户端如何在不使用 instanceof 或类型转换等的情况下破译这样的响应。

或者有没有其他更好的方法来模拟这种反应?