NB - 这个问题不是针对RoR或Redmine的插件系统
我一直致力于Redmine的自定义插件,这是一个使用Ruby on Rails(RoR)构建的项目经理平台。现在我不是真的一个RoR或者那个问题,一个Ruby家伙。我已经设法编写插件,一切正常,尽管幕后一团糟。 “你做错了!!”感觉来自于我知道RoR是一个备受推崇的框架,所以必须有简单,更好,更优雅,[在这里插入最佳实践术语],做我做过的事情。我并不太关心使这段代码尽可能完美,唯一的原因是它只在内部使用,而且真的,人们只关心它“有效”(我是唯一会看代码的人)。
可以传达什么样的智慧来压制“你做错了!!”感觉?我很确定如果这种感觉存在,那么手头的任务可能是错误的。
答案 0 :(得分:66)
有什么问题? “你做错了!!”的感觉是我们存在的本质。
答案 1 :(得分:29)
我在一段时间后阅读了一条建议,在这种情况下帮助我。当你对此一无所知时,尝试以“正确”的方式做某事可能会瘫痪。
因此,如果我必须构建客户管理应用程序,我的第一步可能是:
构建一个非常糟糕的 客户管理应用程序。
很难建立一个好的,但很容易建立一个做一两件事的糟糕的事情。虽然很难知道什么东西足够好,但很容易知道什么时候有些东西很糟糕。
一旦我面前有一个糟糕的人,我可以清楚地看到需要改进的地方。并且很容易改变它,因为蹩脚的实际上做了一些事情;因此,使用TDD原则,我在保持工作的同时对其进行改进。最终,糟糕的应用程序演变成了一个好的应用程序。
我工作过的很多应用程序最终都是蹩脚的,并且开始尝试不成为......因此过于复杂,难以改变,调试和改进。
答案 2 :(得分:10)
不要压抑感觉! 这是错误的感觉是创新的关键。只要问问自己“如果这是错的,那会更好吗?”
答案 3 :(得分:8)
不要把它想象成“你做错了!!”把它想象成“有什么更好的方法可以做到这一点?”最好的情况是你最终会更有效地做到这一点,最糟糕的情况是你发现了一些可能对你的下一个项目有用的东西。
答案 4 :(得分:6)
我从未完成过一条我非常满意的代码。但是,我不相信世界上有一个单一的(非平凡的)代码片段无法改进。
开发人员总是认为他们提供了我担心的优秀代码。
答案 5 :(得分:5)
他们说作家应该每天写一些东西,无论它是好还是不好。
Marc Raibert's advice如果你不能写出好的东西,写下一些不好的东西,然后从中剔除它。
我的编程经验是,当我多次完成某些事情时,我终于开始擅长编程了。
所以不要指望完美。
答案 6 :(得分:4)
答案 7 :(得分:4)
在很多情况下,RoR使用'syntactic vinegar'正是为了给你一种更好的感觉。您应该查看其他一些插件,以了解所使用的约定。一般来说,如果你遵循RoR的惯例,那感觉就是对的。
答案 8 :(得分:3)
特别是对于Redmine,插件系统仍然是新的,我们正在尝试制定最佳实践。由于Redmine(以及Ruby on Rails)是开源的,我建议将你的感受提升到项目的论坛,看看人们的想法。其他人可能会同意你的意见,并可以帮助改进系统。
注意:我是Redmine的核心开发人员之一,帮助构建了Redmine插件系统,并发布了大约12个Redmine插件。甚至我觉得事情不时倒退。
答案 9 :(得分:2)
如果你回顾一下今天几年你写的任何一段代码,你可能会感到很震惊。换句话说,它可能会显示您的进展情况。你得到的感觉是持续学习的一部分。从正确的方向开始,使其稳定。优雅伴随着时间的流逝,计算机编程风格的时尚变化与其他一切相同。
答案 10 :(得分:2)
“问题是什么?”你做错了!!“感觉是我们存在的本质。”
也许并不真正相关,但是:
“程序员是一个以解决他之前发明的解决方案所造成的问题为生的人。”
答案 11 :(得分:1)
第一次使用语言,框架等时,你会做一些“错误”的事情。在开发其他应用程序或进行调整时改进您的原始应用程序,您将找到需要修复的内容,或者您可以做得更好的内容。
在每个项目中,我几乎总觉得我做了一些次优或不完美的事情,但是当它归结为它时,代码起作用,允许人们做他们需要的事情,并且在某种程度上, 成功。 所以继续写作并不断学习!