问题标签 [software-design]
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.
software-design - 软件设计描述实践
有多少人在编写一行代码之前实际编写了 SDD 文档?
您如何处理大型 CSCI?
您对 SDD 内容使用什么标准?
你做过什么剪裁?
javascript - 是否值得将我的函数式 JavaScript 代码转换为面向对象的设计?
我目前正在构建一个包含大量 JavaScript 的小型 Web 应用程序。当我对最初的想法进行原型设计时,我只是将几个函数拼凑在一起,以展示应用程序最终将如何表现,并打算继续以面向对象的性质重新编写 JavaScript。
现在我进入了实现阶段,我发现为了面向对象而创建面向对象的 JavaScript 似乎有些矫枉过正——该项目未来不太可能需要进行任何重大修改,以保证和面向对象的设计。相反,我发现一组简洁、有凝聚力的函数运行良好。
那么,话虽如此,并试图坚持 KISS 原则,当一组函数为问题提供合适的解决方案时,是否还有其他理由值得考虑将我的代码转换为面向对象的设计?
process - 在决定一个功能时,你会做什么?
您主要考虑实施它的原因,还是不实施它的原因?各有什么优势?
refactoring - 什么时候召集四人组?[什么时候使用设计模式?]
在采访 Joel 的游击队指南中说,想要完成任务但不聪明的人会做一些愚蠢的事情,比如使用访问者设计模式,其中一个简单的数组就足够了。
如果应该应用四人组建议的设计模式,我发现很难检测到。
因此,我想从你的工作经历中举一些例子
- 什么时候一个简单的方法(固定大小的数组)就足够了?
- 证明使用 GoF 模式的软件的最小大小是多少?
- 何时从头脑简单重构为 GoF?这可以以明智的方式完成吗?
user-interface - 什么时候应该更新 UI?
我正在为我的教职员工开发一个在线工具,以计算他们的学位最终成绩,有一段时间我遇到了一些小问题。学生们似乎喜欢使用新的 UI,而且我已经有一段时间没有受到批评了。现在,我需要为程序添加一些功能,这意味着 UI 将不得不稍微碰巧,但在一些非常引人注目的地方。
在观看了整个新 Facebook 的开始之后,以及SO 上UI 不好的应用程序和 MS Office 上的 Ribbon 收到了褒贬不一的评价后,我一直在想,如果用户似乎喜欢,是否真的应该改变 UI它。是否应该在多年后更新 UI 以保持用户的兴趣/提高效率?为了干净的 UI 是否应该保留功能?
agile - 哪些情况下不适合敏捷?
多年来,我一直在听到和阅读有关敏捷的信息。我拥有一两本书,我喜欢这个主意。
我终于可以在我工作的地方推出这样的东西了,但我非常担心这是否适合我们:
- 这没有最小尺寸吗?对于三到四个星期的项目来说,前期的大型设计必须更有效率......对吗?
- 我们的客户通常要求固定价格。他们需要知道他们在处理什么,除非在特殊情况下,我们遇到了一个明显的黑洞,即使这样,人们也更愿意戴上帽子。那么,如果您要采用能够容忍持续需求变化的流程,您如何提供报价呢?
- 我知道敏捷可以在更复杂的项目中提供更好的成功几率,但它不会增加客户的成本吗?当然,还有不考虑的代价——也许我们又回到了最小尺寸问题。
- 您将如何向客户解释这种违反直觉的方法?非技术利益相关者可能没有经验来围绕瀑布之外的任何事情。
- 即使是内部项目,也有预算。我错过了什么?
- 最近似乎有人反对敏捷。其他东西会很快开始受到关注吗?
注意:我们是一个 5 开发商店,项目从一两天到几个月不等。我不相信有一种方法可以统治所有这些,但是找到足够灵活的方法来适应我们所有的项目会很棒。
非常感谢!
布赖恩·麦凯
software-design - 您在序列图中寻找什么来表明系统架构良好?
如序列图所示,您在方法调用序列中寻找哪些指示良好实践的习语?
php - PHP 应用程序的主要组件/层是什么?
PHP 应用程序的主要组件是什么?我想出了这些:
- 数据库
- HTML 模板
- 会话/Cookies/身份验证
- 用户输入($_GET 或 $_POST 或 URL 段)
这些是主要成分还是有其他成分?
我问这个的原因是我可以将每个“对象”放在自己的类中,而不必担心它在技术上的可行性。例如,我可以有一个 Post 类,它允许您将帖子添加到博客,而不必担心它如何与系统/php 语言的其余部分相匹配等。
php - 您使用什么 PHP 应用程序设计/设计模式?
请与我分享您最喜欢的用于 PHP 的应用程序设计/设计模式。我想知道的一些事情:
- 您的文件夹是如何设计的
- 如何在 PHP 应用程序中使用面向对象
- 你有处理 CRUD、分页或任何其他常见任务的标准方法吗?
- 如何避免使用重复代码?您对库/共享公共代码等的方法是什么?
- 有哪些方法可以让你的代码更优雅?
您不必回答所有这些问题,回答其中的任何一个或几个都会有所帮助。
我问这个的原因是因为我非常厌倦用 PHP 编写重复的、丑陋的代码,我想为我的自由职业项目制作一个小框架,这将使编程更容易,让我专注于具有挑战性的/业务任务而不是表单验证、分页和其他构成 PHP 编程工作 80% 的日常活动
所有意见表示赞赏!