我目前正在使用WPF / C#中的应用程序供个人使用。我不是一个“经典训练”的程序员。只是一个喜欢在业余时间编码的业余爱好者。应用程序开发的进展是否有任何可接受的方法? I. E。;使其工作,添加容错,创建一个gui,然后进行性能优化。或者我应该先设计整个GUI?基本上我很快就会开始一个新项目,并希望有一些“每个项目都需要这个”清单。
答案 0 :(得分:2)
确实没有“每个程序都需要这个”列表,因为每个程序都不需要。
但是有些建议:不要“让它工作”,然后“添加容错”。防御性编程和错误会计应该是发展的持续部分。如果你在编写一段代码而不是在完成代码之后计算错误和意外输入时,它会更简单(通常更有效)。
至于是否首先制作GUI,请回答这个问题:该程序最重要的方面是它做什么或它看起来像?这是一个严肃的问题,老实说,从应用程序到应用程序可能会有所不同(尽管通常前者更为重要)。
如果功能更重要,请在代码中对信息进行建模并获得一些基本的“业务逻辑”(表示应用程序中执行规则和操作的非可视逻辑的术语,这些规则和操作是目的的基础的程序),然后创建一个与之良好互动的GUI。
如果GUI真的更重要,首先创建它并围绕GUI建模数据对象和业务逻辑。
我建议你仔细阅读 this Wikipedia article。它非常令人兴奋(正如大多数技术维基百科文章所述),但它提供了一些很好的链接,并且可以让您大致了解软件开发和维护的进展如何在“现实世界”中发挥作用。
答案 1 :(得分:1)
我首先要说的是,听起来很简单,写(无论是在纸上还是在脑海中)应用程序实际上要做什么。 (大多数企业甚至不能做这一部分!)
知道这一点,在纸上画出你认为屏幕会是什么样子。 例如,假设您正在编写一个家庭预算计划,并且您希望下载帐户,使用网格进行交易等。了解GUI的外观将会有很大帮助。
然后填写详细信息。
答案 2 :(得分:1)
如果这是您作为业余爱好所做的事情,您可以选择您想要的任何开发方法。
通常,对于商业开发,首先会制作某种形式的原型(对于WPF,使用Blend的SketchFlow非常棒)。这通常是必需的,因为您经常需要将该概念“出售”给客户,管理层等。
但是,如果您自己这样做,您可以自由地按照自己的意愿行事。但是有一条评论。我个人不会将“容错”与“使其工作”分开,但是,因为“容错”伴随着测试,并且单元测试随时更有效...
答案 3 :(得分:0)
开发生命周期变化很大。方差是由项目规模,团队规模,时间表等引起的......
对于小型业余爱好项目,我通常采用这种方法:
规格:这可能是关于我认为我正在做的事情的半页,也可能是一些图表,以使其更清晰。
计划:通常是一份文件,其中概述了我认为的主要里程碑,例如“完整的概念证明”,“基本gui”,“系统记录”,“成功的CRUD操作”
代码:尝试满足2.中的第一个里程碑,然后可能重新评估2.继续直到项目完成,或者我被其他东西感到厌倦/分心(通常比我正在工作的任何东西更光亮)
最后一步还可能涉及子步骤,例如数据建模(如果它是数据库应用程序)或图标的图形设计(如果GUI需要花哨的图标)。
答案 4 :(得分:0)
我试着看一下我的观众的应用程序。然后我将创建一些用例,我尝试找出应用程序甚至应该构建的内容和原因。有时候会评估你在写什么,以及为什么你会偶然发现许多可能影响你构建应用程序的想法。
从那里你可以像其他人一样建议并更加重视关注领域。
答案 5 :(得分:0)
这是一个很大的话题,可能会引起很多意见,所以我会对此感兴趣:测试驱动的开发。尝试阅读它,并尽快将其纳入您的开发策略。 TDD是我多年前开始编写软件时我想知道的一件事。它使你所提出的东西的质量变得不同。
答案 6 :(得分:0)
过去对我有用的是以下(高级)序列: