我即将开始一个主要使用C#的项目,该项目将涉及客户端和服务器通信。
我想知道如何计划这样的项目。
我通常会跳进较小的项目并在我走的时候弄清楚因为我头脑中有一个图表。
如何在知道所需的一切之前设计一个复杂的项目?
我怎么知道我的设计是好还是糟糕?
听起来很愚蠢,我知道,但我已经自学了所有我认识的事情,所以我没有任何团队或指示工作经验。
答案 0 :(得分:6)
“如何在知道所需的一切之前设计一个复杂的项目?”
如果这让你担心,那就找出它需要的一切。
阅读Walker Royce的Software Project Management。
项目分为四个部分。
启。定义工作范围和您将提供的事项。 你现在在做什么。
精化。获取它应该做的“什么”的细节。确定它将如何做到这一点。 接下来需要做什么。
构建。 Architecture,编程,测试,集成。
您如何验证您的设计?您可以应用几种技术。
一个。技术峰值,也称为Spike Solution。尽快确认技术深度。
湾Test-Driven Development。始终计划测试您正在构建的内容。
过渡。通常是为了生产,但有时也会向其他人进行整合。
答案 1 :(得分:3)
在我开始一个大型项目之前,我只是坐在一个文字处理器上,然后完全找出我想让软件做的事情。然后我将功能划分为不同的区域。弄清楚依赖关系并编写一份规范,详细说明它们如何组合在一起工作(如何构建数据等)。
所有这一切,如果在我写了一行代码之前。到目前为止,我确切地知道我需要写什么,如何写它以及它属于什么。
最重要的是,书面文件已基本完成!
答案 2 :(得分:2)
答案 3 :(得分:1)
三个步骤:
图表,什么做什么,什么去哪里
概述和绘制,概述将要发生的事情,以及它将如何发生,绘制任何GUI
做到
如果一个和两个匹配并且有意义那么这是一个很好的设计!如果浪费了东西,那么设计很糟糕
答案 4 :(得分:1)
我最喜欢的一句话来自一位同事,他曾经说过“我喜欢在开始编码之前做尽可能多的编程”,这就是我一直采取的态度。
我喜欢从涂鸦开始,用简单的英语写作,然后开始编写详细的图表,UML或任何你喜欢的东西。找出构造对象的最佳方法,适用的设计模式(如果有的话)。一旦你对应用程序的运行方式有了深刻的了解,就开始编码吧!
答案 5 :(得分:0)
这是我开始在项目上编写代码之前采取的步骤:
以下是我为FreeCodeCamp撰写的关于此主题的博文,希望它能帮助http://blog.freecodecamp.com/2015/06/10-steps-to-plan-better-so-you-can-write-less-code.html