从A-> Z构建程序

时间:2009-03-22 17:18:08

标签: .net build

我已经阅读了很多关于Microsoft Dot Net的书籍,并且我学到了很多东西

  • 面向对象编程
  • Windows用户界面设计
  • 使用SQL Server和XML
  • 调试应用程序
  • 使用序列化和应用程序域
  • 部署Windows应用程序
  • 安全和许可

我知道如何做到这一切,没有完美和非常深刻,但很好。但我的问题是我无法构建应用程序。这不是关于这个想法,我有想法。

问题在于,每次启动时,我都不知道如何启动,从何处着手,如何设计计划,在编写应用程序时或之后调试应用程序,何时实现安全性,何时部署以及测试它,如果我的应用程序缺少一个步骤,如果它与其他dot net框架兼容,如果它在所有平台上都能完美运行....

我觉得我的学习中有一些缺失,导致我无法构建整个应用程序,这是安全的,并且在管理时。

我错过了另一本书,课程,课程吗?或者这是我的问题?所有人都可以设计计划,还是仅限于其他人? 最后:我该怎么办?继续学习并构建一个应用程序(以后再出售) 或者只是兼职工作直到我完成学业并找到一份全职工作?

6 个答案:

答案 0 :(得分:11)

不要从想大的开始。从小思考开始。当你想大的时候,你冒着恐吓自己的风险。

当我开始思考太大时,我永远找不到合适的起点,而且我会像你所描述的那样进入无尽的思考圈子。如果我可以从一个小的,现实的,可管理的任务开始,那么我开始做一些小的进步。一件完成后,我可以从下一件开始。当然,我稍后会回去调整以前的部分但是没关系。至少我已经开始并且走在正确的轨道上并没有停留在“我从哪里开始”的完美主义者。

你怎么吃大象?一次咬一口。

[编辑] 这是另一个想法:尝试每天写一个简单但完整的应用程序一周。这将需要做hack-y事情和使用半思考的意大利面条代码。但它也会迫使你专注于得出一个真实的结论,并评估哪些特征是必需的,哪些特征只是特征蠕变。

我不会为很多人推荐这个。如果你做得太久,你就会构成恶劣的习惯。但是,对于您的个人心理障碍,此练习可能有所帮助。

如果你决定做这样的事情,请回到这里,让我们都知道它是怎么回事。

祝你好运!

ps:好问题。我相信很多人都面临同样的情况,但不想要害怕看起来很糟糕。我知道我已经注定了我自己的许多个人项目,因为你所描述的原因正是如此。

答案 1 :(得分:4)

写出你想让软件做的事情也有很多帮助,通常这将是你的功能规范,但对于一个小的应用程序来说,写下你想要它做的就足够了。

将其分解为paulgreg提到的小“婴儿步骤”,这样你就可以开始研究那些,同时密切注意大局。

正如Timbuck所说,它有助于在行业中工作,因为你可以向他人学习并让他们为你做这个建筑(一开始),但你也可以建立更多的编程经验,因为你可以做到这一点还有很多!

顺便说一句:如果你不喜欢创造一些“无用的应用程序”的想法,那就想想你想拥有的应用程序。肯定有人会喜欢它,所以你可以把它作为共享软件出售在某处; - )

答案 2 :(得分:3)

尝试制作“宝贝步骤”......

例如,对于地址簿,首先构建搜索,然后是创建表单,然后是更新表单,依此类推。 也可以经常自由地重构代码,以避免重复。

我有时会以这种方式构建应用程序的第一个和小版本,并且在我学习了V1上的错误后,我曾经构建了第二个清洁版本。

答案 3 :(得分:2)

从您自己的小型电话簿应用程序开始,您可以在几天内完成。从头到尾看到一个简单的项目,可以让你更清楚地知道如何进行更大的事情,并且你可以上楼梯。

实现全面系统的各个方面需要多年的经验。

祝你好运!

答案 4 :(得分:2)

在该行业工作肯定有助于将许多部分组合在一起。更有帮助的是接触到更有经验的开发人员,他们可以指导您完成整个过程。

真正帮助我的一件事是开发一个我在求职过程中使用的简单笔记应用程序。我已经能够将其作为其他一些个人项目的基础,以及我在职业生涯中每天使用的工具。

一段时间后回到代码让我看到我可以做得更好的地方。毕竟,你编写的大部分代码都必须保留在某个地方,可能不是你。因此,如果您无法回到自己的代码并对其进行修改,请想象一下其他人会是什么样子。到目前为止,就软件单元而言,我的方法是“构建一个可以扔掉”。

从一个新鲜的石板开始是很好的,但正如你所发现的,它也可能是压倒性的。您会发现,随着您的进步,您可能希望添加其他功能。抵制这种诱惑!当然,添加某个选项似乎“很容易”,但这可能会导致你走上黑暗路径并将注意力从主要目标上移开。

了解语言和技术是一回事,但掌握软件工程原则将为您提供更好的基础,从而建立自己的职业生涯。

答案 5 :(得分:1)

你所读到的是这个谜题的一部分,可以这么说。你需要清楚地了解大局。你为什么要解决这个问题?这是个问题吗?有替代方案,解决方法吗?我比竞争对手做得更好? 成为你的批评者。

  

我错过了另一本书,课程,课程吗?或者这是我的问题?

我想说你看看软件工程原理和开发过程。另外,请阅读一下理解要求,软件架构和设计等。继续练习你学到的东西。

  

所有人都可以设计计划,还是仅限于其他人?

有些人比其他人更擅长。就像在任何其他领域一样。

  

最后:我该怎么办?继续学习并构建一个应用程序(稍后出售)或者只是兼职工作直到我完成学业并找到一份全职工作?

继续阅读/写作。确保工作确实有助于您了解在专业环境中完成工作的方式。您也可以在处理宠物项目时应用这些原则。在软件领域找工作肯定具有极大的价值。