问题标签 [methodology]
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.
performance - 你为你的 webapps 使用什么性能测试方法?
我想对一个典型的 Web 应用程序进行性能测试。该应用程序提供了一些 web2.0 功能,例如写博客、wiki、搜索内容等等。我分析了访问日志,了解了用户真正经常做的事情。
我脑中的空白是如何进行的?我想到了以下方法:
- (A) 将功能拆分为事务(撰写博文、查看维基页面等)
- (B) 随着用户数量的增加运行这些交易
- (C) 做一些报告:“使用硬件 x 浏览 wikipage 可以由 y 个用户同时执行,而内存是边界资源”
- (D) 尝试将多个事务混合到一个场景中,这应该是真实用户负载的真实映射
- (E) 在用户增加的情况下运行此场景,制作与 C 中相同的报告
您对此有何看法,您的方法是什么?
unit-testing - 当修复涉及更改被测方法的签名时如何使用 TDD?
我试图了解 TDD 方法并遇到了 - 我认为是 - 一个先有鸡还是先有蛋的问题:如果错误修复涉及更改方法的签名该怎么办。
考虑以下方法签名:
顾名思义,此方法删除 a token
from的所有实例delimited
并返回结果字符串。
后来我发现这个方法有一个错误(例如从字符串中删除了错误的位)。所以我写了一个测试用例来描述错误发生的场景,并确保测试失败。
在修复 bug 时,我发现该方法需要更多信息才能正常工作——而这部分信息只能作为参数发送(被测方法是静态类的一部分)。
那我该怎么办?如果我修复了这个错误,这会迫使我改变单元测试——那会是“正确的”TDD 方法吗?
methodology - 示踪子弹开发
我正在使用The Pragmatic Programmer中提倡的 Tracer Bullet 方法开发客户端服务器应用程序,并希望得到一些建议。我正在处理从客户端启动到服务器并再次返回客户端以显示结果的每个用例。
我可以看到两种方法:
- 涵盖基本用例,只需编写足够的代码来满足我正在处理的用例,然后再回去充实所有错误处理。
- 尽可能充实每个用例,捕获所有异常并完善界面,然后再继续下一个用例。
我倾向于第一个选项,但我害怕忘记处理一些异常并在应用程序投入生产时让它咬我。或者留下不清楚的“存根”错误消息。但是,如果我采取第二种选择,那么我想我以后会做出更多的改变。
问题:
当使用示踪子弹开发时,您采用这两种方法中的哪一种,为什么?
或者,我还缺少另一种方法吗?
methodology - 固定范围/固定价格项目=瀑布吗?
在客户发布 RFP 以根据特定技术和财务标准选择供应商的情况下,即在固定范围/固定价格项目中,是否可以使用除 WATERFALL 之外的任何方法。即增量/迭代方法可以工作吗?
python - 什么写入日志文件?
我的问题很简单:将什么写入日志。有什么约定吗?我必须放入什么?
由于我的应用程序必须发布,我希望有友好的日志,大多数人都可以阅读它而无需询问它是什么。
我已经有了一些想法,比如时间戳、每个函数/方法的唯一标识符等。我想要几个日志级别,比如跟踪/调试、信息、错误/警告。
您是否使用一些预先格式化的日志资源?
谢谢
language-agnostic - 从哪里开始编程?
一旦你完成了你的第一组需求和设计,你从哪里开始编程?(假设测试将以相同的顺序编写,但在代码之前)。
- 入口点
- 框架/支持类
- 实体类
- 先说最简单的
- 先说最难的
你有什么建议?
methodology - 长期持有的、不正确的编程假设
我正在对初级(也许是高级)软件工程师的常见错误和错误假设进行一些研究。
你坚持最久但最终得到纠正的假设是什么?
例如,我误解了整数的大小不是标准,而是取决于语言和目标。说起来有点尴尬,但就是这样。
坦率地说; 你有什么坚定的信念,你大概维持了多久?它可以是关于算法、语言、编程概念、测试或任何关于编程、编程语言或计算机科学的内容。
agile - 什么方法最接近神话人月中的外科团队?
神话人月现在很经典,但“手术团队”方法仍然很有趣。哪种方法最接近它或具有相同的本质?
总结外科团队的类比:外科医生了解问题/业务领域并且是专家。当团队中有问题或冲突时,他们是权威。当出现问题时,外科医生之间会相互合作,比如设计,作为一个较小的紧密专家团队。所以本质上他们拥有领域的知识,被委托去做他们认为正确的事情,并做实际的编码?团队的其他成员专注于支持、测试、文档和项目计划,这些都是委派的任务。因此,外科医生也是最熟练/训练有素的资源。
答案可能是项目、编程、设计方法,因为它似乎对主要方法领域都有影响。采购开发中的敏捷、MDA、Extreme?这个问题对于复杂业务领域中的大型软件也更有意义,比如空中交通管制,而不是 COTS 开发人员或通用实用程序。
methodology - 功能规格
无论我在哪里查看,功能规范都是某种文档,其中包含并详细说明了需求/提议的功能。我最近能够为我们公司制作功能规范的标准模板。我暂时选择的格式是一个具有相当多自动化程度的 excel 文件。
该模板计划将顶层需求链接到层次结构中的较低级别需求。
然后可以将较低级别的要求映射到设计的技术方面,类似于质量屋。相关性在 HOQ 中被确定,但此外,对于每对需求和技术方面,都估计了可行性。
如果需求的任何技术方面被标记为不可行,则该需求被标记为重新考虑。
在将所有需求标记为可行或适当删除之后,提取每个需求-技术方面对,并根据时间和预算为每个需求寻求估计。
这些估计有助于我们规划项目。
我可以对此提案发表知情意见吗?在我看来,这似乎是将需求与技术方面联系起来,然后再与项目规划联系起来的最佳方式。
javascript - 我应该总是给我的函数一个返回值吗?
我编写 JavaScript 代码并尝试使用它的函数式语言特性。
在其他函数式语言中(甚至在 Ruby 中),如果我没有显式设置函数的返回值,它将返回最后一个计算表达式的值。JavaScript 不遵循这种模式。(准确地说,JavaScript 也总是返回一个值。如果没有设置,则undefined
.)
我的问题如下:我有一个不需要(也不需要)返回值的函数。在函数式编程上下文中,有一个没有显式返回值的函数是否有意义?或者如果我在这种情况下发现自己在某个地方失败了?
例如,我有以下功能。它会定期检查位置哈希是否已更改,如果是,则调用给定函数。
我应该回到这里吗?
更新
同时我想到,如果将来我需要扩展 的知识LIB_hashManager
,遵循函数式构造函数模式,我可以简单地向对象添加方法并LIB_hashManager
返回生成的对象。
后来我可能会写:
那么在第一种情况下返回一个空对象没有意义吗?