当你开始有人编程项目中,什么是你的第一步?我试图开始一个项目那只是一个想法的时刻。我得到许多的这些和我直接进入代码并在一段时间后就完全失去兴趣,或者只是忘记了该项目。

当你开始,什么是你的第一步?你计划了这个项目?作一个图?编写一些代码在纸上?你怎么开始的一个项目的方式,你知道你会成功吗?

有帮助吗?

解决方案

唯一的作品对我说:创造尽可能最小的执行情况的认的某种方式可用,然后使用它。

其他提示

7习惯的高度有效的人, 习惯2:始终牢记在心。

与任何项目需要一个明确的目标,这一点在这里你可以说"我完成了".一个清楚的结果会给你方向。一旦你有,你可以开始规划如何到达那里。大小和复杂程度的项目将确定如何更详细地你的计划需要,但在一般情况下你会想你的感觉方面取得进展反对你的计划很经常。

我的下一个步骤是绘制出一个设计的模块,将需要和Api之间的各个模块。如果Api干净然后该模块可能是正确的。然后我开始实施的模块、检测,因为我走了。

我花了很多时间思考各个方面的项目之前,我甚至触摸键盘。

我去过什么我学到了从以往项目,并把它写下来的各种类别('技术','推广'等)

个人的项目或不,我总是起源代码的控制。Git,善变的市场是示例的源代码控制的工具,不是侵入性的,因为你不需要设置一个主服务器。只要输入一个简单的命令创建的项目,检查你的文件中,提交。在未来,当你搞砸了你的一个文件中,你将能够撤消

我也设立了一个轻型票系统来跟踪1.问题和2。想法 通过"轻型",我的意思是,如果维持两个文本的文件与这些列表中对你的作品,这是不够好。

希望这会有所帮助。

我同意已经给出建议:

  • 计划一个最小的执行情况,做一些有用的东西作为第一个完整的释放。
  • 有具体目标有关,你想达到什么有东西要比较进展。

我还建议开始有轻型设计的整体 建筑 所以你可以有一个 路线图 如何建立自己的产品。

我发现它难以开始建立东西的时候我没有一个明确的概念关于如何,它应该至少在第一级别的分解。想想你需要什么除了功能:高性能?, 扩展性方案?, 哪些?, 可用性的目标?, 高可扩展性?, 便于部署和installability?, 等等。问问自己:什么成分,我将要建立,以实现这些建筑质量?.

不要误会我,我是一个坚强支持者的敏捷软件的发展。你不需要花费很多时间设计的体系结构(因为它肯定会有发展作为你建立和获得反馈的有关什么可行和什么不会),但是 有一种蓝图,如何建立自己的产品根据其建筑 应该是有益的在于规划的进展和 设定现实的目标.

定义的目标的项目。听起来就像你正在寻找几乎完全的解决方案,而不是问题。

一程序不是对你有用或其他任何人,除非它解决一些问题。编写代码,以获得运动是巨大的,但你似乎失去兴趣和关注之后你开始-因为你看码,而不是问题。

花一些时间考虑是什么促使你写这个代码。思考如何其他人可能会发现同样的需要,什么样的路径可能会把他们带到同样的挫折你的工作来解决。

然后,发现其中一些人,并提供您的(部分)的解决方案,你就会产生兴趣和建议,其中。

这会让你走对你的项目。研究员的兴趣,共享,甚至将分歧--这是人谁需要的软件!不创造解决方案(软件)寻找一个问题(人)。你开始与你,与你的需要或愿望,而是专注于代码,而失去了推动该项目。

编程的更多的乐趣当你解决问题。但你需要保持的问题在你的面前。共享问题,建立社区。这是什么这是真的所有有关,不是吗?

对于我自己的个人项目,我只是潜水的权利。当然,没有这些还没有足够大的需要任何形式的预先规划。如果这将是一个严重的项目或较大规模的,它始终是一个好主意冲洗出至少每个部的计划需要做一个高级别查看他们如何将这样做。

像其他人一样,我的个人的项目始终有:

  • 最终的目标
  • 任务名单
  • 小可使用的单位
  • 源控制

作为一个额外的动力,我尝试使用技术,我从来没有使用过。学习新的东西通常成为最大的动力,对我来说。

容易-不要一开始就在所有项目的你可能会失去了兴趣。花更多的时间,以确保要提交自己的想法之前开始任何工作。

它取决于项目的-多大呢?

如果我写下的记事本的克隆我可能只是潜在的,如果我想滚是我自己的操作系统,它会采取更多的非编码工作。

我像做了很多图表,该工具使用的大多数发展清洁A4纸和一支铅笔。绘制出UI、工作流程的基本课程,以及如何你要储存任何数据-然后编码只是一个计算机可读的写作方式是什么,你提请。

源控制le。g。SVN的是一对夫妇按键/次点击,所以开销是低效益高、方便尝试的东西而只是恢复到先前的状态,如果他们不工作。

然后就最基本的protoype,这将与工作一旦东西是真的要是更容易得到的热情和增加更多。如果这是巨大的,我会找到我认为这个问题的解决是在我的头,那就够了。

第一个计划出来的基本轮廓的最终应用程序。最重要的特征、基本GUI,程序流程,等等。然后再完善,所以你不要把太多的时首先,消除不必要的功能,并加入你想要什么在第一个版本。然后使用该大纲,以开始一项任务列表,建立尽可能最小的工作版本的应用程序。然后它更容易增加额外的功能和使其充分运作。

我喜欢Maximillian的回答..扩展一点,我的个人项目的开发,以解决的东西我的工作了。所以当我厌倦了重复工作我会原型的一个解决方案。然后使用它。如果其相似,足我的一个较早的项目中,我将借高码我可以尝试提高我的工作,使其更加专业。

融合的使用源的控制是重要的。需要2分钟安装SVN.

如果你想要把它变成一个公开源项目, 生产开放源码软件 应该是一个很好的阅读(可在网上和在打印)。

如果你个人的项目的类似于一个现有的开放源项目,应该考虑到,项目。几个微小的贡献(bug修复等)。 都 更有价值的一半完成的项目。

上述所有的,但开始巩固计划中的地方。。...

去一些工具 SmartSheet-即使你的工作你自己,你应该设置了一些阶段和日期 yEd和Graphity从www.yworks.com

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top