首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对抗早期效应

对抗早期效应
EN

Software Engineering用户
提问于 2011-03-29 19:30:40
回答 8查看 1.1K关注 0票数 17

Einstellung效应指的是“一个人倾向于以一种特定的方式解决一个特定的问题,即使有更好或更合适的方法来解决这个问题。”

作为一个拥有相当丰富经验的程序员,如何才能克服这种倾向:从过去的经验中“尝试而真实”地解决问题?

为了给出两个非常具体的例子,我已经构建web应用程序很长时间了,足够早于Javascript框架(例如jQuery)和更好的web应用程序框架(例如ASP.NET MVC)的广泛使用。如果我有客户端工作,在时间紧迫或紧迫的问题领域或业务规则,我倾向于使用我知道的,试图实现一个解决方案。这涉及到非常丑陋的事情,比如

代码语言:javascript
复制
document.getElementById 

或者将ASP.NET与模板绑定控件(DataList/Repeater)一起使用,而不是研究如何使用ASP.NET MVC方法重新构建事物。

我过去使用过的一种技术是有一些个人项目,这些项目只是为了探索这些新技术而存在,但这很难维持。还可以建议采取哪些其他办法?

EN

回答 8

Software Engineering用户

回答已采纳

发布于 2011-03-31 04:42:48

这是个很好的问题。我认为不仅仅是高级程序员遇到了这个问题--尽早解决这个问题对于一个学习者来说是加速他们技能发展的一个很好的方法。

这个问题有两个方面--一个是坏的,一个实际上是好的。

坏-选择错误的解决方案

举个例子--作为一个缺乏经验的开发人员,你以前可能只真正解决了两个问题,问题A和问题B。在这一点上,你知道有些问题你不知道,但考虑到你自己经验的镜头,你所看到的很多问题看起来可能是A或B。

随之而来的是一个新的问题。对你来说,这个新问题看起来像问题A,所以你以通常解决问题的方式解决它。有些事情感觉不对,需要更长的时间,当你工作的时候,你最终意识到这是一个新的问题。这是一个你不知道存在的A的变体。

那你该怎么做才能不再犯这个错误呢?有两件事:

  1. 找出这个新问题的不同之处。找出哪些方法可能有不同的效果,以及原因。
  2. 把这个问题分类,然后继续解决更多的新问题。

这将帮助你自然地解决这个问题。当您有10年的经验时,您已经熟悉了问题A到Z,并且您的解决方案范围很广。

高效

在现实世界中,在截止日期和资源有限的情况下,使用你所知道的并不总是不好的:

  1. 在开始解决问题的过程中,你把新的问题和你所知道的所有问题进行比较。
  2. 您将尝试识别这些符号,并决定这是什么样的问题集。
  3. 如果一个100%的匹配无法完成,一个有经验的开发人员将权衡花费更多时间发现的风险和可能有缺陷的执行的风险。如果浪费时间的风险太高,那么你就继续你所知道的吧。

这并不是一件坏事--它使用风险分析来选择效率超过100%的准确性。它每天都在做,如果我们不去做的话,我们都会被困在那些没有给我们带来任何东西的事情上。

所以,要回答你的问题:

作为一个拥有相当丰富经验的程序员,如何才能克服这种倾向:从过去的经验中“尝试而真实”地解决问题?

  1. 不断寻找和整理新的问题
  2. 更好地为问题选择正确的解决方案,而不是仅仅知道哪个解决方案,而是知道为什么它是正确的。
  3. 练习和磨练你的决策技巧。有时,效率是正确的选择,更好地认识那些时代将导致可衡量的现实世界的优势。
票数 4
EN

Software Engineering用户

发布于 2011-03-29 19:57:30

留出20%的工作时间来提高你的技能/做正确的事情,而不是快速。否则,你会慢慢开始落后。这可能意味着你在短期内完成的工作较少,但从长远来看,投资将得到回报。

最困难的部分是抵制在这件事上偷工减料的压力。在这个习惯根深蒂固之前,不要把那个角落剪掉。一旦你认为对你的技能的投资是“正常的”,你就可以选择偶尔匆匆完成一个项目。同时,不要认为这一次是可选的,并据此形成您的估计。

票数 9
EN

Software Engineering用户

发布于 2011-03-29 20:11:44

在我看来,软件开发并不总是要找到绝对的*最好的解决方案,而是要把事情做好。所以,如果你不总是以最好的方式解决问题,那就不是世界末日了。

然而,如果你真的觉得以最好的方式做事是很重要的,那么我认为最好的选择就是作为团队的一部分来发展。与同事讨论设计并进行代码评审。由于人们通常有不同的背景和偏好,在两三个人之间,你应该有几个不同的角度来看待问题和解决方案。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/63433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档