从零开始系列,用C#做软件产品:私人日记(二)开发方法

昨天写的开篇,今天早晨起来一看,没想到获得了这么多网友的支持:

从零开始系列,用C#做软件产品:私人日记(二)开发方法

说实话,没想到,有点小兴奋。不过兴奋之后,又有点惶恐,突然开始担心自己能力有限,写不出让大家感兴趣的内容,导致江湖中又多了一个骗子。不过箭已在弦上,临阵退缩不是我的风格,那就尽我所能吧,尽量让大家有所收获。

废话不多说,我们正式开启软件产品设计的大门。

首先大概介绍下软件开发方法。

有人可能会问,什么是软件开发方法?你一个码农直接上代码不就完了吗,搞那么复杂?

如果是只解决某一个问题,那肯定直接上代码最有效。但我们是一边做产品设计,一边写教程,并不是简单地教大家只做一个最底层的Coder,而是要让大家了解更多的知识,提高视野,这样才能设计出更好的产品。

比如同样是做私人日记这个项目,不同人的开发方法可能会有很大不同:

看到这里,大家可以暂停下。设想一下:你是A还是B?

其实无论哪个,都没有好坏对错之分,只有是否适合:

A的方法更高效,更适合做需求非常明确的项目。如果不提前设计好,开发时就会造成理解偏差,如果做到最后发现跟之前需求不相符,就可能要重构,进而影响开发进度。所以如果你做的是客户委托的定制项目,那么必须提前做好详细设计,然后再跟客户确认,以免最终客户不认可而无法交付。

B的方法更精准,更适合做自有产品研发。产品设计与开发的过程其实更多的是创作,很多事情是没有定式的。哪怕简单到一个按钮的名称,也可以有很多种叫法:保存、应用、确认、执行、OK,也基本都能达意。另外创作是需要灵感的,可能琢磨了一天的功能都不满意,突然晚上临睡前一个灵感闪现就有了更好的方案。

我在本教程中采用B的方法,因为我不想给自己那么多的条条框框,我喜欢有很多的可能。比如很有可能随着教程的更新,就会有用户提出各种好玩的功能,然后我也认同就加进去了。就好像有些网络写手写小说一样,不到最后谁都无法知道结局,这多有意思!

看到这里,有人可能会问,这样会不会太随便了?20几年的项目经验啊,就这?确实,如果按我上面的说辞,逼格是低点。但是,如果用我打工的那些年曾接触过的一些理论来说,境界或许会高一点点,虽然道理都一样。对我有深刻影响的理论有三个(因为只能记住这3个了)。理论的详细内容大家可以自行百度了解,我只讲我认为有用的:

一是微软MSF(微软解决方案框架)中的迭代开发和质量投资

迭代开发就是先制订一个小目标,然后实现它,然后继续制订下一个小目标,再实现它...如此往复,一段时间后,你会发现,已经完成了若干个大目标。

质量投资则是把软件质量看成一种投资,既然是投资就要考虑投入产出比,而不是强调质量第一。就好比学习,80分提升到90分相对容易,而99分提升到100分可能就要多付出几倍的努力,既然如此,我们不如把精力放在其他不足99分的学科上,相对更划算。

二是金蝶实施方法论中的整体规划、分步实施

整体规划是确定方向和架构,树立大局观;分步实施的思想则跟迭代开发基本类似。

三是WBS(工作分解结构)的概念

就是把一个大目标分解成若干小目标,等小目标都完成了,大目标也就完成了。迭代开发是自下而上,WBS则是自上而下。

综合以上,结合我们的产品设计思路,就基本确定了我们的开发方法:

1、整体规划,制定各阶段目标;

2、功能递进式增加,随时可以加入新的;

3、每个功能作为一个迭代版本,把每个功能作为一个目标分解成若干小目标;

4、注意质量投资,条条大路通罗马,能解决问题就好,别在一棵树上吊死;

开发方法就是理论,有了理论指导,就不会被后面可能出现的各种问题所困扰,它会指引你做出明智的选择。

在上一篇文章中,我们制定了三个阶段目标。接下来,我们就开始进入实操。

为了保证教程与GitHub(以后简称Git)代码的一致性,需要大家预先安装好Visual Studio 2019(以后简称VS),以方便今后的学习。

关于VS和Git,需要补充一下:

VS是微软推出的代码开发环境,可以方便的编写和开发C#程序。有人说VS是收费的,说的没错,但是社区版对个人用户是免费的,企业用户收费。但对企业用户的认定标准是年收入100万美元或电脑台数在250台以上,所以其实对绝大部分人来说,连企业用户的资格都够不上。

Git则是微软提供的源代码管理仓库,可以方便的共享代码。

如果大家在VS安装或Git网站使用方面有疑问,可以在评论区留言,我会再发文专门介绍。

好了,接下来来完成今天的两个小目标:一是创建一个.net项目,二是让它能够运行起来。


一、创建.net项目

打开VS,菜单依次:文件->新建->项目

从零开始系列,用C#做软件产品:私人日记(二)开发方法

弹出的对话框中,上部的3个下拉框,我们依次选择C#->所有平台->桌面,下方会切换支持的项目类型。可以看到支持很多,我们这个教程主要还是面向初学者,就从windows程序入手,其他的先不去关心。

从零开始系列,用C#做软件产品:私人日记(二)开发方法

在下方选择 windows 窗体应用,注意不是windows 窗体应用(.net framework)的那个(.net framework在微软新的开发架构中已经被抛弃了,换成了大一统的.net),然后点右下角的下一步。

接下来:

从零开始系列,用C#做软件产品:私人日记(二)开发方法

项目名称就是我们这个阶段的目标,因为目标是Windows平台下运行,我起名为Diary.Win,如果这个项目是新建项目,我们还需要为这个项目建立一个解决方案的名称,因为以后还会加入第二、三阶段的项目,以及其他类库的项目,所以解决方案我起名为Diary。位置大家根据情况可以任意指定。

设置好以后点下一步。

接下来是创建项目的最后一步,选择目标框架。

这里我们就选.net 5,方便后续开发过渡。

从零开始系列,用C#做软件产品:私人日记(二)开发方法

全部没问题以后点创建。

稍等片刻,一个.net项目就创建好了。

从零开始系列,用C#做软件产品:私人日记(二)开发方法


二、让它能够运行起来

初始界面大致分成4个区域

从零开始系列,用C#做软件产品:私人日记(二)开发方法

现在我们想要程序跑起来,只需在工具条的运行图标点一下,VS就会帮我们自动编译,并且运行起来。

从零开始系列,用C#做软件产品:私人日记(二)开发方法

当然,这只是一个空白的界面,除了左上角的一个Form1字样,其他什么内容都没有。

从零开始系列,用C#做软件产品:私人日记(二)开发方法

但不管怎样,我们已经迈出了第一步。

说实话上面两个小目标我自己都觉得辣眼睛,太水了。但是考虑教程既然是从零开始,看评论也真有一些之前没用过VS的,索性就从最基本的写起,不差这一天的更新。我也在这里保证一下,重复的内容不会再出现第二次。

如果感兴趣,别忘了关注我,以便及时获取更新。

--------------------------------------------------------------------------------------

对网友私信或评论做统一回复

以我对用户的理解:如果有一个用户向你提出问题,那么可能会有十个用户有同样的问题,但是他们没有提出,所以针对用户的提问统一回复下,以加深彼此的了解。

>>做一个私人日记是一个好的想法。请问一个45岁的人还能重头学开发吗?

我觉得只要有兴趣就没问题。

>>vs单机能装吗?必须要联网装吗?我感觉好笨重,有没有别的可以替代的能写c#的?

我还是建议联网装,只装C#5个G足够了,VS与C#是绝配。不建议在这上面浪费时间。

>>期待教程,第三阶段用什么技术呢?

我估计要排到明年了,那时MAUI+.net6应该成熟些了吧:)

>>感谢,会一直追随,我这个C#爱好者最近发现装不上前几年下载的vs 2015 社区版,总说安装包损坏,请问怎么解决,现在自学应该下载哪个版本?

建议VS2019社区版。

做c#创业还行,用这门语言打工估计工资不高吧?

C#国内生态目前确实要差些,不过工资不好说,物以稀为贵,现在的Java也快烂大街了吧?C#全栈开发还是需要很多时间才能修炼成的,游戏、医疗、金融行业用C#相对多些。

想学习,怎么获取教程?

教程刚开始做,每周更新1-3篇。代码获取方式文章下方有说明。

都是刚做,我会像写网络小说一样写教程:)

我最早只学过C语言和fortane语言,学这个C sharp行不行得通?

没问题。不过对初学者我都是建议先看下windows核心编程、数据结构、设计模式,理解了这3本书的内容,所有语言基本上都只是语法上的区别。

我在为自己的小孩开发游戏,有兴趣组个队?

我也有过这个想法,但是感觉自己写不动了:(

收徒不?

1对1的模式不符合互联网思维,效率太低,看教程就可以:)

小团队,c#是不是比java效率高?

开发效率要看团队积累,java做项目有很多现成的代码可以用,c#相对少些 运行效率肯定c#更高。

啥叫独立开发者,能干啥?

这个目前还是一个比较模糊的概念。我觉得可以类比独立音乐人:没有任何签约的唱片公司,自己创作,自己录歌,自己宣传,代表人物就是赵雷。对软件开发来说,自己决定软件产品的一切,包括但不限于功能、技术、盈利模式、市场推广等等。

能干啥?我觉得是实现理想吧:)或者换种低调的说法,解决码农的35岁危机。

私人日记是做什么的,像one note一样的软件吗?

类似吧。我觉得可能有误会,我是借用做私人日记这个项目来做C#的教程,教学是主要目的,产品功能要服务于教学内容,而不是要跟one note对标去抢占市场。

--------------------------------------------------------------------------------------

本教程已作为开源项目加入到Git,代码内容会随教程实时更新,大家有兴趣的话可以关注我,以获得最及时的更新。私信:私人日记 可以来获取Git的链接。

大家阅读过程中有哪些看不懂或未尽兴的地方,可以在评论区留言,我会先记下来在后续的教程中找机会再说。

展开阅读全文

页面更新:2024-05-15

标签:私人   方法   日记   微软   软件产品   产品设计   界面   目标   理论   语言   代码   功能   项目   教程   系列   用户   科技   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top