|
|
1
17
如果你想说服你的同事你的编程实践更好,首先要证明你比他们更有效率,至少在某些任务上是这样。当你解释你是如何完成这么多工作的时候,他们会相信你。
|
|
|
2
9
这是一个交叉的帖子,因为第一次它更多的是旁白别人对一个问题的回答 different question . 对于这个问题,这是一个直接的答案。
所以,因为,我不仅同意你的观点,我有一个控制实验的真实数据来支持它。然而,这是一个相当小的样本。在我的结论得到支持之前,还需要进行更详细的测试。 你为什么不接受我对你的团队说的话,并建议进行试验呢。你有比他们更多的数据(我刚刚给了你),为了有一个可信的基础来反驳你的观点,他们基本上必须测试这个想法,唯一的方法就是尝试一下你的想法。 不过,您应该准备好让它全部崩溃,因为整个事情都是基于这样一个假设:开发人员有天赋和经验,能够在没有逐步调试的情况下迎接更强大设计的挑战。 创建单步调试是为了简化调试。降低门槛的直接效果是,人才较少的人可以参与——如果你建立了一个连傻瓜都可以使用的工具,你会让傻瓜使用它——如果新的活动获得了很好的报酬,他们中的很多人都可以参与。 这导致了人才的大量流失,因为他们通常利用这些人才做一些稀罕而珍贵的事情,以便在不太努力的情况下获得高薪,而市场也不想为优秀人才买单,因为市场无法很好地区分人才,从而知道什么时候买单是合理的。
|
|
|
3
5
那么,你当地的教堂可能更适合回答你的问题。 撇开这一点不谈,用论据说服他们。然而,你可能想重新考虑你的原教旨主义立场,因为这与说服力恰恰相反。您可能想做的一件事是在整个讨论中删除术语“调试”,并通过逐步浏览代码或类似内容来替换它,强调您反对您所谴责的不知情的猜测/拼凑做法,而不是对代码的知情反思。 (我仍然不同意你的观点,但那不是重点,因为你不想讨论。) |
|
4
5
我认为真正的问题是
如果这是真的,那显然是错误的,没有必要讨论它。如果不明显,那是因为他们不知道如何改进写得不好的代码。向他们展示,做代码审查,在那里你展示了如何以一种清晰的方式重构代码,而无需进行深入研究。 一旦编写了更好的代码,代码步进将自动减少 , 相反,它就是不起作用 . 人们仍然会编写糟糕的代码,如果他们避免重复,那只会导致更多的时间浪费(该死的,我希望我能一步一步地完成这堆乱七八糟的事情),而不是更好的代码。 |
|
|
5
5
我知道,对我来说,从传统的、代码优先的开发切换到测试优先的开发已经减少了调试所花费的时间……我并没有错过这一点。通常,我只会在不清楚为什么我为通过测试而编写的代码没有通过测试时才使用调试器。 |
|
|
6
3
非顺序逻辑 . |
|
|
7
1
让他们相信另一种方法的优势的“计划”是建立 metrics 链接到您调试 功能 漏洞。 非回归 这样,您就不会完全放弃“调试”习惯,但您可以说服他们建立一套可靠的测试,让他们能够在需要时专注于真正有用的调试会话。 如果你考虑这一过程(度量),你应该知道它的实现涉及所有层次结构(利益相关者、项目经理、架构师、开发人员)。他们都需要被牵连在这些指标中,以便采取行动。 关于开发人员,您可以尝试提出以下建议:
|
|
|
8
1
我认为这个问题的更好措辞应该是“非TDD是代码气味吗?”TDD似乎会减少在调试器中花费的时间,因为编写/失败/通过测试的时间更多。如果没有TDD,您更有可能在调试器中花费时间来诊断错误。 至少在VisualStudio中,使用调试器没有那么痛苦,因此您面临的挑战是向您的团队成员解释TDD将如何使他们的开发更加愉快、高效和成功。仅仅避免调试器可能不足以让团队切换开发方法。 |
|
9
1
就在路上,勇士。 调试不是问题所在,它是注释和/或文档化较差的代码和糟糕的架构。我在一个较小的团队中工作,但当一个bug出现时,我会逐步完成代码。通常,这是一个非常小的工作,因为应用程序是精心设计的,代码上的文档是清晰的。 话虽如此,让我们回到我的观点。希望团队不要调试。。。评论,评论。没有什么能抑制加快调试速度的冲动。当然,他们仍然会这样做,但他们更有可能跳过文档化良好的代码。 哦,虽然不用说,我还是会做的。代码中没有错误。:) |
|
|
10
1
我同意上面那些表示“调试器问题”相对无关紧要的人的观点 在IMO中,开发人员最重要的两个目标是:
|
|
|
11
1
在你制定计划之前,你应该决定这个改变对你有多重要。尽管我同意调试是一种气味,但对于开发人员来说,调试也是一种非常普遍且根深蒂固的做法,因此说服他们停止调试并不容易或很快,而且有充分的理由。你想在这个话题上投入多少精力? 第二,你为什么要首先说服他们?如果你的动机是帮助他们,这真的是他们的首要问题吗?当你帮助别人的方式,他们 想得到帮助吗 , change becomes easy . 一旦你决定要继续你的变革计划,你需要考虑到不同的人对不同的事情有不同的看法。有些人已经相信尝试一些新的和令人兴奋的东西。一些人会被数字(指标)说服。有些人是在吃他们最喜欢的曲奇时被告知的(说真的!),有些人是从他们最喜欢的导师那里听说的。有些人通过在杂志上读到这方面的信息。有些人看到“其他人也在这样做”。等等,pp。 InfoQ对Linda Rising进行了一次有见地的采访: http://www.infoq.com/interviews/Linda-Rising-Fearless-Change . 她说得比我好得多。这本书也很好。 resistance as a resource -,有时它发生在意想不到的时间,所以总是这样 keep a sense of wonder . |
|
|
12
0
@例如:您还有第二个问题,这里是:
让他们想要 当他们没有(可见的)收获时,他们会更有效率吗? |
|
|
13
0
通过调试设计软件是一种很好的做法 . 支持这种开发方式的环境数量很少:最著名的是Smalltalk。在Smalltalk中,您可以编写一个描述对象协议的测试,而无需实现这些方法。运行此测试将触发调试器,您可以将该方法添加到调试器中的正确类中,并可以继续单步执行代码,直到实现所有功能且测试为绿色。
|