最近,我经历了一个非常奇怪的阶段.我觉得需要编写/重写我使用的所有工具(文本编辑器,IDE,库/模块),我不知道为什么.
即使这可以被看作是一件好事(因为我在这个过程中学到了很多东西,而且我的软件设计技能不断提高),最奇怪的部分是我在完成之后丢弃所有代码,所以我有点工作是徒劳的.我对我写的代码永远不满意.你也在试验这个吗?你是怎么克服它的?
听起来你是由几种不同的可能"综合症"(或者可能不止一种)驱动的.
这里没有发明综合症(NIHS).这是没有人的代码足够好的地方,或者按照你希望的方式做事.所以你认为你可以做得更好.
它是如何工作的?综合症(HDIWS).这是一个你对程序着迷并希望了解它如何工作的地方,所以你基本上可以自己编写它.
比你咀嚼综合症(BOMTYCCS)更容易咬人.这就是你认为"这不会太难做,所以我只是自己写,然后我知道它在做什么".然后,你完成了它,足以使它成为一种工作,并且你意识到你的代码糟透了,并且你做了太多的妥协以快速完成它,所以你把它扔掉了.
太便宜了,所以你认为你可以建立它更便宜的综合症(TCTBISYFYCBICS).名字足以说明问题.问题是你得到了中途,然后你意识到自己已经落入上面的#3并且认为你的时间比任何事情都要多.
我已经遭受了所有这些,甚至更多......(就像经典的"需要为一切综合症创造一个acroynm(NTCAAFES)";)
我一直这样做(好吧,除了丢掉的部分).就个人而言,我在编程学习的早期就开始这样做(当我还是学生时); 它得到了我将检查Java核心源代码的点,如果我不喜欢它,我会自己做/扩展它.它已经到了运行类笑话的地步,我将重新发明Java.
就个人而言,我从来没有克服它......相反,我找到了新的方法来利用它.例如,我不是简单地重新发明东西,而是发现我想要的东西在其他任何地方都是可用的,所以我会为自己制作它们.我的第一个这样的项目是聊天程序.当然有很多人存在,但这是我老师不知道的唯一一个(呵呵).当然通过它学到了很多关于网络协议的知识,但是一旦它"完成",我的第一个动作是将它发送给我所有的朋友,我们会在老师讲课的时候聊天...很快他就发现了它并且已经从那以后,他强迫所有的学生在他说话的时候关掉他们的显示器,但是它一直很有趣.
从那时起,我一直在继续提出我自己的项目,这些项目对我很有用,至少有一个方面需要我学习,还有一个或多个方面没有当前的程序来解决这个问题.我的问题是免费的.
总而言之,我建议不要试图重新发明IDE然后抛弃你的代码,而是尝试找到一些你想要自己解决并再次使用的项目或问题.我相信dogfooding(使用你自己的程序)是任何程序员都希望实现的最好的.
把你在网站上写的任何代码都放到开源中.
让其他人讨论代码并使其更好.
这有助于您在回馈社区时提高编码技能.
之后,您会惊奇地发现您的代码比您离开时更好.