问题标签 [code-reuse]

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 投票
7 回答
800 浏览

open-source - 内部专有与开源

有理由不使用 wordpress 并开发自己的博客系统吗?
Durpal 和我们自己的 CMS 也是如此。

我想知道,因为我的营销女性不同意我的观点,我们应该开发自己的内部解决方案,因为有更好的解决方案。她还说,我们甚至可能会浪费时间和金钱,因为维护和解决错误是我们的责任,例如,我们不能把它交给 wordpress 的开发团队。

我不想把时间花在可能不值得的事情上,但我真的很想赚更多的钱。

是否取决于网站的规模和访问者?
选择一个而不是另一个的因素是什么?

0 投票
7 回答
281 浏览

documentation - 您如何确保正确重用代码?

通常,当我们将新功能引入应用程序时,我们可能会产生工件,例如可以在应用程序的其他领域重用的有用方法或类。这些工件不一定记录为功能需求,因为它们通常是我们实施选择的副作用。由于我们经常在团队中开发,因此共享这些代码以防止返工和重复非常重要。

例子:

  • 实用方法和类
  • 一个基类
  • 一个接口
  • 一个 GUI 控件

您发现共享这些工件的最有效方式是什么?

你如何传达你在创建它们时所做的假设?

您如何确保正确食用它们?

我对围绕文档、代码图、会议(?)的最佳实践和经过验证的技术感兴趣,以确保正确重用代码。

这个问题非常类似于:Finding Reusable code but I'm感兴趣的是一种比被动方法更主动的方法。

0 投票
1 回答
1281 浏览

winforms - 在另一个 Windows 窗体项目中重用控件

我有很多网络经验,但在Windows 窗体方面完全是新手,所以这可能很容易回答:

我有 Project1,我添加了一个可重用的控件,允许过滤和搜索数据并显示结果。

我现在想在另一个项目中使用相同的控件。

当我打开 Project1 并选择我的表单时,可重用控件出现在工具栏上,因此我可以将其拖到项目中的任何表单上,但是如何在我的新项目中实现这一点?

0 投票
3 回答
4760 浏览

html - 无需代码的 HTML 重用

我正在.net 和 ruby​​-on-rails 环境之外创建一些静态 html 页面。

我创建了一个我想在几个页面之间共享的菜单,但我想知道这是如何使用常规 html 结构完成的(即没有.net 的母版页和没有 rail 的布局)

有没有办法在不剪切和粘贴的情况下做到这一点?

0 投票
8 回答
270 浏览

testing - 好的测试会导致草率的编码吗?

假设您正在编写代码,并且遇到了简单代码重用的机会(例如,将一段通用代码拉出到一个可访问的地方,如实用程序类或基类)。您可能会发现自己在想,“我知道这样做很好,但我必须现在就完成,如果我需要更改代码,而忘记在其他地方进行更改,我的测试框架将让我知道。”

换句话说,您让您(或其他开发人员)编写的很棒的测试来提醒您也更改其他地方的代码。

这是我们可能在自己或其他开发人员身上发现的合法问题吗?

0 投票
3 回答
213 浏览

frameworks - 公司的公共图书馆

我注意到在我工作过的几乎每家公司中,他们都有一个通用库,通常在多个项目中共享。这通常是一个单一的companyx-commons项目,最终成为常见程序的垃圾场,包括:

  • 命令行解析器
  • 文件实用程序
  • 框架助手
  • ETC...

其中一些是经过深思熟虑的,并且在 Apache commons-lang、commons-io 等中发现了一些重复的功能。

您的公共库中有哪些内容?更重要的是,您如何构建公共库以使其易于改进和整合到其他项目中?

0 投票
6 回答
1252 浏览

c++ - 如何将 DRY 原则应用于 C++ 中的迭代器?(迭代器,const_iterator,reverse_iterator,const_reverse_iterator)

好的,所以我现在有两个(完全不相关的、不同的项目)类使用迭代器。一个具有iterator并按reverse_iterator预期工作,另一个当前具有iterator和半损坏const_iterator(具体来说,因为 const_iterator 派生自迭代器,所以代码LinkedList<int>::iterator i = const_list.begin()是有效的并且允许您修改 const 定义的列表......)。
我打算将所有四种类型都添加到这个类中......如果可以的话。

我将如何继续最小化复制/粘贴代码并仅更改返回类型?base_iterator创建一个喜欢继承的基类?创建一个iteratororconst_iterator并从中继承?从一些 std:: 类继承?如果这些案例中的任何一个是“最佳”方法,那么哪些代码在哪里?
也许没有一个替代品是好的?我在这里很迷茫,找不到太多参考资料。

任何建议都值得赞赏,但请记住,我是该主题的新手(通常是迭代器和 C++,尤其是 OOP)。我尝试研究 GCC 附带的头文件,但徒劳无功——它们并不完全是我正在寻找的教程。

0 投票
1 回答
871 浏览

java - 可重复使用的安卓布局

我想知道每个人如何重用 android 布局和组件?您是否将现有代码旧的复制/粘贴到项目中,或者有没有办法将布局和组件包含到 jar 文件中以供重用?

编辑:例如,如果我有一个列表视图,也许我有另一个视图用于列表视图中的每个列表项,它可能有一个图标,也可能有一个标题行,然后是一个包含更多详细信息的行。虽然创建它并不难,但能够通用地创建一次并在不同的项目中重复使用它会很好。

0 投票
3 回答
462 浏览

php - CakePHP:重用模型、控制器、配置而不是视图和路由

我们的网站将按以下方式运行:

  • 有一个中央站点 www.example.org,每个人都可以在其中注册、更改信息、管理他们的“名片”。
  • 此外,每个人都会有 companyname.example.org。在这里,用户可以根据他们在主站点中更改的信息发布一个简单的站点。

该站点是基于 CakePHP 构建的。我想知道这有什么好的设置。在进行了一些谷歌搜索之后,为控制器和模型创建一个单独的目录以供重用似乎很常见,但在这种情况下,我想真正共享所有代码,除了路由和视图。

是否可以根据域名更改路由。这对于 CakePHP 是否被认为是“合适的”。我宁愿找到最佳实践,而不是“完成”工作的解决方案。

谢谢!

0 投票
2 回答
442 浏览

asp.net-mvc - ASP.NET MVC 中的可重用内容框数据?

如果我为包含标题、图像和内容的框创建 PartialView,那么在不使用数据库的情况下存储内容的最佳方法是什么?

示例:涡轮税

我怀疑侧边栏中的框的内容是否存储在数据库中,但为了制作可重用的代码,在 PartialView 中创建结构并填充内容区域将是有益的。我可以创建一个 PartialView 并将一个模型从父 Controller 传递到 PartialView,但是如果我想在另一个页面上使用同一个框,我将无法复制和粘贴相同的内容。