我知道有很多很多开发人员开始项目,然后陷入困境或失去兴趣并转向其他事情。你有任何未完成的项目,你为什么停止?你有没有激励自己回来完成它,或者你是否在一段时间后删除它们并忘记最初的想法?
8 回答
有很多想法,但每天没有足够的时间......
可悲的事实是,开始某事很容易,但一直坚持下去真的很难。
对我来说,有两类“未完成的项目”。第一个是(正如罗伯特所说)从未真正完成的项目。最好的例子是
它已经进行了 7 次迭代,但如果要执行它应该执行的所有任务,还有很长的路要走。只要人们不断给我发电子邮件,我就会继续处理代码——但它持续了几个月而没有得到任何关注;然后我可能会专注于它一周,然后再进行很长时间。让我研究它的关键是要解决一个有趣的问题。平凡的错误或“简单”功能或整理代码永远不会像需要做一些棘手的事情那样激励我。
我开始做的其他事情是因为它们看起来很酷/很有趣,但是当我解决了最初的问题并陷入“通用代码”时就停止了(你知道:会员/登录、强大的错误处理、UI 调整)包括:
RaceReplay.net - 最初是用 WPF/E 编写的 :) 并针对 SL1 进行了更新 - 尽管最近自从 MS SL VE Map Control 重新激活了它。坐了超过 12 个月,但没有任何行动
RecipeNow.net -最初用 .NET 1.0 编写,为 2.0 更新并计划用 MVC 重写(有一天......)。我什至已经开始(但当然还没有完成)一个iPhone版本。会员计划、贡献计划、分享计划、社区计划……都开始了,但还没有结束……
SilverlightEarth.com - 早在 DeepZoom 之前,用 Javscript 和 WPF/E;SL1 编写的 MS/google 地图查看器。半完成的“墨水”支持。半完成的地图旋转。半完成的 SL2 迁移...半工作代码在网站上供所有人查看(它是 Javascript - 只需查看源代码即可查看所有废话黑客和 TODO)
Geoquery2008.com - SQL 2008 地理空间查询工具。在大约 2 个月的时间里花费了大量的时间,将其 80% 变成了“真正的”产品……但从那以后,它作为一个“几乎有用”的工具就停滞不前了。
DeepZoomPublisher.com - 这是一个非常可悲的,因为我已经编写了“控制台应用程序”后端(并发布了它如何工作的示例),但从未有时间编写承诺的 Windows UI,也没有实际发布代码本身......因此,如果您访问该网站,您会看到它的功能示例,但您无法真正找到执行此操作的应用程序 :-( 我的错。
回答问题的另一部分——我从来没有故意删除它们,尽管我“不小心”整理了我的电脑,并以某种方式删除了一个或两个“半完成项目”的所有副本。对自己感到非常沮丧——因为我喜欢选择回来完成它们......即使我从来没有这样做;-)
不过,Network Solutions 很高兴,因为每当我对一个新项目感到兴奋时,我都会为它注册一个域名。
我认为博客——尤其是那些作者知识渊博且足以编写小示例/示例的博客——取代了某些人的“未完成项目”。如果您有一个很酷的想法,您只需编写最低限度的代码来展示它是多么酷 - 将其发布在您的博客上并保留它!(未完成)无罪:-)
许多:用于 XML 的文字处理器、用于流形的矢量图形编辑器、两种不同的编程语言及其编译器、Python 成像工具包、游戏的关卡编辑器、几个电脑游戏、泥浆、prolog 解释器、音乐的模块化合成器、程序图像生成器、博客软件、静态网站生成器、wiki。
大多数是深六,有些搁置在我的大脑后部,还有三个仍然活跃。我已经研究了将近十年。但是项目会扩展以填补可用时间,当您将其作为一种爱好时,这就是您的余生。
A few of my projects have died, mostly for my lost excitement.
The truth of the matter is, though, that if you, the person who came up with the idea, lose excitement about it, who in the real world is going to give a damn about the project in the first place? Sometimes you just have to take what you've learned from a project and throw it out.
Rapid iteration, right?
I've got a part-built visual debugger for spatial algorithms (GIS stuff)... it even sort-of works... at the time I was hacking away at a clipping algorithm, and I thought it would be marvelous to like watch a movie or in slow-mo, or frame-by-frame, and/or set break-points and step through the code; watching it's effect on the geometry... I just never quite got it to do all that... It turned out to be quicker/simpler/easier just to write "the current version of" the geometry out to WKT, and paste it into JUMP (simple open source GIS package)... So I got lazy again... and went back to my real job ;-(
However: This "stalled" project lead to the visual debugger aspect of another little project... one for which a sizable TODO list (difficulties-wise, for me anyway) remains outstanding... and it ain't gonna get shortened this weekend either.
So yes you might say I leave a cookie-trail of incomplete projects behind me... just incase I ever feel the urge to quit programming and regain my sanity ;-)
I have a short attention span... If a for-fun-project can't be done in a couple of weeks it ain't gonna happen!
Cheers. Keith.
Do you have any unfinished projects and why did you stop? Too many to count! I keep track of them all now for years. Everyone I start and every note about them, in case I come back to them.
Did you ever motivate yourself to come back and finish it, or are you deleting them after some time and forget about the original idea? Not really. The reason I think most programmers don't finish their projects is because they either see the end in site and the initial challenge is gone (therefore there all that is left is the uninteresting work). Or, they realized the idea/project was crap to begin with. Which is usually a bad thing because others may actual get some value from the finished product even if the developer may not of.
没有一个软件项目是完全完成的。
当我换工作时,我就停止了项目工作。一些关于新功能的想法不得不放弃,因为成本/收益不存在。有些错误得到修复,有些则没有。但我不记得曾经放弃过一个软件项目。
我是一个连环未完成者——我反复地把非常简陋的开源代码放在外面(主要是在 code.google.com 上),看看我是否能吸引其他开发人员获得协同作用。有时我会管理——大多数情况下我没有,然后这些项目最终“未完成”(除非我有新的动力去做它们,即使没有其他活跃的开源合作者的大力推动——有时它确实会发生; -)。引用伟大的小说家小库尔特·冯内古特的话,“就这样”!-)