首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免成为“理论家”程序员

避免成为“理论家”程序员
EN

Software Engineering用户
提问于 2011-04-15 18:16:40
回答 14查看 1.6K关注 0票数 28

我在几篇关于这方面的文章中找到了文章。我发现自己陷入了第六个原型:“理论家”。

它将“理论家”定义为:

理论家对编程了如指掌。他(她)可以花四个小时讲授一门晦涩的编程语言的历史,或者提供一个证据来证明你写的代码是多么的不完美,并且可能需要额外3纳秒的时间才能运行。问题是,理论家对软件开发一无所知。当理论家写代码时,它是如此“优雅”以至于仅仅是凡人无法理解它。他或她最喜欢的技术是递归,每一个代码块都被调整到最大限度,而牺牲了及时性和可读性。理论家也很容易分心。一个需要一个小时的简单任务需要三个月的时间,因为他们认为现有的工具是不够的,他们必须构建新的工具来构建新的库来构建一个符合他们的高标准的全新系统。理论家可以成为你最好的玩家之一,如果你能让他(她)在项目本身的范围内发挥作用,并停止在终极排序算法上花费时间。

即使在做一个简单的项目时,我也会陷入困境,试图从头开始设计所有的东西(这可能解释了为什么我白手起家花了大约两年的时间来开发一个操作系统。但即使是我也看到,这最终是毫无意义的)。

有什么能帮助我避免这样做呢?坚持接吻原则?

谢谢

EN

回答 14

Software Engineering用户

发布于 2011-04-15 18:28:28

作为一名理论家,我自己,我可以告诉您,在敏捷车间工作将迅速和果断地治愈所有这些倾向。特别是,一个eXtreme编程操作,包括对编程(理想的频繁旋转)、测试驱动的开发、时间装箱和有界的冲刺,立即向所有同事展示了您的工作,并要求您在一分钟一分钟的基础上打开并协作。这是一个巨大的转变,在孤立的办公室环境中,理论家式的工作蓬勃发展。它要求完全诚实和完全正直,因为每个人都在积极地依赖于其他人不断。

我仍然珍惜我的肚脐凝视,但我不得不沉溺在家里,或在那些罕见的情况下,我可以在一个不属于主线开发的侧项目工作。

票数 21
EN

Software Engineering用户

发布于 2011-04-15 18:24:10

  1. 为你应该发展的东西设定目标。
  2. 把这些目标缩小到在不久的将来可以实现的目标。
  3. 然后专注于这些目标,消除所有其他考虑。没有背景。没有历史。没有延期。没有一般的或抽象的。
  4. 然后再把它们缩小到至少你能做到的范围内,这将是可交付的。不太好。不灵活。无法维护。只是可以接受。
  5. 然后,把你能做的最起码的事情确定为绝对的最低要求。关键是在大约一周内挑选一个日期,然后朝着那个日期发展。如果你一周内不能送东西的话。很窄。集中注意力。修剪一下。Reduce。
  6. 那就消除毛茸茸。你只有一周的时间。继续切。
  7. 然后,将重点放在将尽早完成的简化实现上。理想情况下,不到一周,所以您有时间编写文档。

我和理论家合作过。我认为“额外的”是一个借口,以避免实际上做一些可能被称为失败的事情。

做--失败--是很难的。谈论做某事比做某事容易。大量的研究和思考是避免做错事的一种方法,然后在了解到用户撒谎后再对其进行重新处理。

把代码放在他们面前。他们会说代码失败。常有的事。但在失败的过程中,您将了解真正的需求是什么。你就会知道他们撒谎了。

票数 10
EN

Software Engineering用户

发布于 2011-04-15 18:29:34

我不确定这是不是件坏事。很明显,你需要有效率,否则你就不能做好你的工作,但是对这个领域有兴趣,作为一名艺术的学生,可以说并不是一件坏事。

我会发挥你的优势,寻找机会,在那里你的风格和偏好是一个优势。

为了确保您在使用Erlang编写MVC框架(或任何感兴趣的东西)的同时保持高效,您也许应该将您更深奥的工作安排在一天一小时的时间内。一天剩下的时间,只需专注于繁重的工作,把工作做完。当你看到一件有趣的东西,它会分散你的注意力,或者做一个笔记,但继续前进,然后回到你指定的时间点。

就我个人而言,我有大量的URLs -它们看起来很有趣,还有一堆图书馆书籍。也许我最终能读到10%的URL,也许最后会读到50%的书,但我仍然能完成日常工作。

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

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

复制
相关文章

相似问题

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