- UID
- 863306
|
鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,**语言是不是落伍了?(不过说实在的,这些问题初学者都会有.)
我在这里说说开发人员应该知道的一些东西。但是这些只是我在平日里看到和想到的。难免有所偏差,请见谅.
软件开发,是一个综合性的活计。软件开发,并不仅仅是编写代码.学会了用c这些编程语言进行编程只是第一步,一个最最基本要求。其他要的东西还多着呢。在我看来,程序员大致可以分为两类.当一个工作任务分配到程序员身上时,一种程序员知道为什么要这样去做.另外一种则知道怎么去做完这个工作.
而这个区别就大了.如果你知道为什么要这样去实现,这个至少说明你能把握住你的任务在软件工程里面的位置.如果你只是仅仅知道怎么去完成他.那只是说明你能做完这个工作而已.想做好就不一定能行了.而第一种程序员一定能做好.做的最优.看看下面的条条,希望对大家都有所帮助.
第一要说的,编程的关键是什么?
编程不是实现了代码就可以了.引用我的友人的一句话,“编程讲究是一个整体的平衡性。”
对于这个他是这样解释的。“平衡性,是软件的很重要的部分,从平衡性的角度去考虑编程,就会抑制你想要用最新技术,最新系统等等一些想法。因为从平衡性的角度考虑,只要你的软件有一个瓶颈出现,你的程序就是失败。你首先要考虑的是怎么消除程序中可能存在的一些瓶颈。在这个基础上你才有权利去考虑提高你程序的性能”.就算你拥有最新的技术,最好系统,如果你的代码不行。只要你的程序有性能瓶颈存在,等于什么都没有做。
在这里我想说的就是程序是人写的。如果你的水平不行,再好的现成的技术也是用不起来的。就算用起来了,你可能没有办法说清楚,为什么这样用?
第二要说的,怎么编程?
我想很多人看到这个问题,一定会在心里把我骂的体无完肤的。心想这小子活腻了。骂也无妨。暂且听我说。我说的怎么编程不是要说怎么写详细的代码,而是你的程序最终是怎么形成的。我想写到这里又有人把我给陵迟了一次了。但实际上编写代码是在软件的生产过程中占有时间比较少的一块。
我个人觉得要包含以下的几个部分:
1。市场潜力分析
分析你要写的软件能不能卖出去,或者说我要编写什么样的软件?
2。同类产品竞争分析
看看你的同类产品的优缺点,设计你的软件的卖点.(如果没有卖点,就没有必要继续了)
3。软件设计
写出详细的软件流程,数据流程。主要算法。软件架构等
4。编写代码
不用说了吧
5。bug测试和试运行
6。卖
这些事,有的是市场的事,有的是系统分析员的事,还有的是编程的事。但是在很多小公司,本着小公司事必亲恭的办事原则。大家多了解一点是不会有错的。
举个具体的例子来说。假如我要编写一个共享软件。我要怎么做呢?
1。要好好想想我要写的软件有没有“钱”途。时间在15天-30天左右。在这段时间里面一定要好好的做一下市场考察.这个可是最关键的一步.
2。好,我已经决定要写**软件了。
3。在网上找几个对**最有威胁的同类软件,分析它们优缺点。要它们的优点,不要他们的缺点。设计出自己软件的卖点.
4。根据前面分析的结果,大概的列出**软件应该具有的功能表
5。写出1.0版的基本功能表,写出1.x的功能表。不要一次就做完全部的功能,这样的话,你的软件永远都没有出世的机会
6。选择编程语言 (看看,编程语言到这里才出来)
7。上网找类似的源代码,算法。RFC标准文档。吃透.软件代码和算法的良好重用,会让你事半功倍的.
8。根据你选定语言,算法,标准文档,写出**的详细设计文档。文档一定要用,不然你的计划性就不强.计划性不强,随意性就大.随意性大了,软件很容易失败的.
9。按照设计文档编写代码
10。测试和卖 |
|