Answers:
我也有同样的问题
我发现我的个人项目存在完全相同的问题。我发现,当我有了灵感时,我会在个人项目上勤奋工作2到3个星期,然后当我在项目上做了大量工作并且碰壁时,我就会松懈所有的精力和松散的兴趣。
诀窍是循环浏览您的项目
我发现当我因缺乏灵感或缺乏有关如何进行的想法而放弃项目时,我会在以后(甚至6个月)重新获得灵感,然后再获得2-3周的时间来获取很多东西直到最终我得到了工作。
每个Wall E项目大约相隔6个月,我仍然让他坐在我的办公桌上等待蓝牙调制解调器(需要弄清楚如何将其装入机器人内)。
Android项目/ XNA项目/ Haskell项目几乎相同。我发现,如果我放弃兴趣并放弃一个项目只是将其循环回去,那我最终将完成该项目并获得比仅放弃它更多的收益。
问题标题为“如何选择...”,但您似乎在问“如何完成个人项目?”。我认为至少有两件事发生:
在考虑了一段时间之后,对您而言,当时似乎是个好主意的事情可能变得不那么重要了。
您的工作形式可能会使返回工作更加困难。有时,当您受到启发时,会感觉到可以看到整个项目以及所有部分如何组合在一起,并且想要在它离开您之前将其写下来。当您稍后再回到它时,您所编写的代码可能不那么清楚,或者可能没有您当时认为的那么好设计。或者,您可能对此主题还有其他想法,但是它们与原始概念并不十分吻合。
在第一种情况下,未完成可能是正确的决定。您已经有了一个主意,这很有趣,现在您继续前进。
在第二种情况下,我认为看到一切的感觉就是您的大脑在欺骗您。您已经有了一个主意,它看起来很棒,并且您的大脑会围绕填补缺失的部分进行竞赛,以使该主意看起来更加连贯。解决该问题的一种方法是放慢速度并使用更好的设计流程。与其直接跳入代码中,不如将其写下来。创建一个高级设计,然后开始充实细节。如果您有关于实施的见解,也可以写下来,但不要在此阶段尝试全部编写。这样,您已经在纸上捕获了创意,因此它们不会消失,但是您没有执行任何操作,因此设计仍然非常灵活。此时,如果需要,您可以稍后再回过头来,如果仍然觉得这是个好主意,请改进设计并最终以有条理的方式开始实施。记录您的进度,以便您始终可以告诉自己已完成的工作以及仍需要做的事情。
的最后一件事是,你必须真正想要完成这个项目。如果您不想完成任务,那么这只是待办事项清单上的另一项繁琐工作,堆积如山,让您感到自己被实际上不需要做的大量工作淹没了。
我想起了80/20规则。完成20%的项目需要80%的时间。:-)
我目前正在使用Java来实现1960年代的股市棋盘游戏。我很高兴弄清楚如何绘制游戏板,以及将用户界面组合在一起。
事实证明,移动算法很难实现。根据游戏的状态,您可以在给定的掷骰子上降落多达3个不同的方块。我正在移动算法的第3次迭代中,希望第3次成为魅力。
我毫不费力地激励自己画游戏板。我在激励自己从事那些移动算法方面遇到很多麻烦。但是,移动算法是我在其他类似领域提高设计技能所需要做的。
编码时很容易做一些有趣的事情。很难完成项目中比较困难的部分,尤其是当您弄错了设计时。两次。但是,从错误中认识并学习是使您成为更好的分析师,设计师和程序员的原因。