问题标签 [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.
open-source - 内部专有与开源
有理由不使用 wordpress 并开发自己的博客系统吗?
Durpal 和我们自己的 CMS 也是如此。
我想知道,因为我的营销女性不同意我的观点,我们应该开发自己的内部解决方案,因为有更好的解决方案。她还说,我们甚至可能会浪费时间和金钱,因为维护和解决错误是我们的责任,例如,我们不能把它交给 wordpress 的开发团队。
我不想把时间花在可能不值得的事情上,但我真的很想赚更多的钱。
是否取决于网站的规模和访问者?
选择一个而不是另一个的因素是什么?
documentation - 您如何确保正确重用代码?
通常,当我们将新功能引入应用程序时,我们可能会产生工件,例如可以在应用程序的其他领域重用的有用方法或类。这些工件不一定记录为功能需求,因为它们通常是我们实施选择的副作用。由于我们经常在团队中开发,因此共享这些代码以防止返工和重复非常重要。
例子:
- 实用方法和类
- 一个基类
- 一个接口
- 一个 GUI 控件
您发现共享这些工件的最有效方式是什么?
你如何传达你在创建它们时所做的假设?
您如何确保正确食用它们?
我对围绕文档、代码图、会议(?)的最佳实践和经过验证的技术感兴趣,以确保正确重用代码。
这个问题非常类似于:Finding Reusable code but I'm感兴趣的是一种比被动方法更主动的方法。
winforms - 在另一个 Windows 窗体项目中重用控件
我有很多网络经验,但在Windows 窗体方面完全是新手,所以这可能很容易回答:
我有 Project1,我添加了一个可重用的控件,允许过滤和搜索数据并显示结果。
我现在想在另一个项目中使用相同的控件。
当我打开 Project1 并选择我的表单时,可重用控件出现在工具栏上,因此我可以将其拖到项目中的任何表单上,但是如何在我的新项目中实现这一点?
html - 无需代码的 HTML 重用
我正在.net 和 ruby-on-rails 环境之外创建一些静态 html 页面。
我创建了一个我想在几个页面之间共享的菜单,但我想知道这是如何使用常规 html 结构完成的(即没有.net 的母版页和没有 rail 的布局)
有没有办法在不剪切和粘贴的情况下做到这一点?
testing - 好的测试会导致草率的编码吗?
假设您正在编写代码,并且遇到了简单代码重用的机会(例如,将一段通用代码拉出到一个可访问的地方,如实用程序类或基类)。您可能会发现自己在想,“我知道这样做很好,但我必须现在就完成,如果我需要更改此代码,而忘记在其他地方进行更改,我的测试框架将让我知道。”
换句话说,您让您(或其他开发人员)编写的很棒的测试来提醒您也更改其他地方的代码。
这是我们可能在自己或其他开发人员身上发现的合法问题吗?
frameworks - 公司的公共图书馆
我注意到在我工作过的几乎每家公司中,他们都有一个通用库,通常在多个项目中共享。这通常是一个单一的companyx-commons项目,最终成为常见程序的垃圾场,包括:
- 命令行解析器
- 文件实用程序
- 框架助手
- ETC...
其中一些是经过深思熟虑的,并且在 Apache commons-lang、commons-io 等中发现了一些重复的功能。
您的公共库中有哪些内容?更重要的是,您如何构建公共库以使其易于改进和整合到其他项目中?
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
创建一个喜欢继承的基类?创建一个iterator
orconst_iterator
并从中继承?从一些 std:: 类继承?如果这些案例中的任何一个是“最佳”方法,那么哪些代码在哪里?
也许没有一个替代品是好的?我在这里很迷茫,找不到太多参考资料。
任何建议都值得赞赏,但请记住,我是该主题的新手(通常是迭代器和 C++,尤其是 OOP)。我尝试研究 GCC 附带的头文件,但徒劳无功——它们并不完全是我正在寻找的教程。
java - 可重复使用的安卓布局
我想知道每个人如何重用 android 布局和组件?您是否将现有代码旧的复制/粘贴到项目中,或者有没有办法将布局和组件包含到 jar 文件中以供重用?
编辑:例如,如果我有一个列表视图,也许我有另一个视图用于列表视图中的每个列表项,它可能有一个图标,也可能有一个标题行,然后是一个包含更多详细信息的行。虽然创建它并不难,但能够通用地创建一次并在不同的项目中重复使用它会很好。
php - CakePHP:重用模型、控制器、配置而不是视图和路由
我们的网站将按以下方式运行:
- 有一个中央站点 www.example.org,每个人都可以在其中注册、更改信息、管理他们的“名片”。
- 此外,每个人都会有 companyname.example.org。在这里,用户可以根据他们在主站点中更改的信息发布一个简单的站点。
该站点是基于 CakePHP 构建的。我想知道这有什么好的设置。在进行了一些谷歌搜索之后,为控制器和模型创建一个单独的目录以供重用似乎很常见,但在这种情况下,我想真正共享所有代码,除了路由和视图。
是否可以根据域名更改路由。这对于 CakePHP 是否被认为是“合适的”。我宁愿找到最佳实践,而不是“完成”工作的解决方案。
谢谢!
asp.net-mvc - ASP.NET MVC 中的可重用内容框数据?
如果我为包含标题、图像和内容的框创建 PartialView,那么在不使用数据库的情况下存储内容的最佳方法是什么?
示例:涡轮税
我怀疑侧边栏中的框的内容是否存储在数据库中,但为了制作可重用的代码,在 PartialView 中创建结构并填充内容区域将是有益的。我可以创建一个 PartialView 并将一个模型从父 Controller 传递到 PartialView,但是如果我想在另一个页面上使用同一个框,我将无法复制和粘贴相同的内容。