找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1098|回复: 2

[教学]:经典教程9:开发人员需要知道的东西

[复制链接]
发表于 2002-11-5 12:59:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
开发人员需要知道的东西杂谈 v1.0
            作者 :很土

    鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,xxx语言是不是落伍了?
我在这里说说开发人员应该知道的一些东西。这些只是我在平日里看到和想到的。难免有所偏差。
    软件开发,是一个综合的活计。学会了c这些编程语言只是第一步,一个基本要求。
其他要的东西还多着呢。

    第一要说的,什么叫编程。引用我的友人的一句话,“编程讲究是一个整体的平衡性。”
对于这个他是这样解释的。“平衡性,是软件的很重要的部分,从平衡性的角度去考虑编程,就会抑制你想要用
最新技术,最新系统等等一些想法。因为从平衡性的角度考虑,只要你的软件有一个瓶颈出现,你的程序就是失败。你首先要考虑的是怎么消除程序中可能存在的一些瓶颈。在这个基础上你才有权利去考虑提高你程序的性能”最新的技术,最好系统,如果你的代码不行。什么都等于没有做。因为你的程序有性能瓶颈存在。
    在这里我想说的就是程序是人写的。如果你的水平不行,再好的技术也是无用的。

    第二要说的,怎么编程。我想很多人看到这个问题,一定会在心里把我骂的体无完肤的。心想这小子活腻了。
骂也无妨。暂且听我说。我说的怎么编程不是要说怎么写详细的代码,而是你的程序最终是怎么完成的。我想写到这里又有人把我给陵迟了一次了。但实际上编写代码可能在程序的生产过程中是占有时间比较少的一块。
    我个人觉得编程要包含以下的几个部分:
    1。市场潜力分析
       分析你要写的程序能不能卖出去
    2。同类产品竞争分析
       看看你的同类产品的优缺点
    3。软件设计
       写出详细的软件流程,数据流程。主要算法。软件架构等
    4。编写代码
       不用说了吧
    5。bug测试和试运行
    6。卖
这些事,有的是市场的事,有的是系统分析员的事,还有的是编程的事。但是在很多小公司,本着小公司事必亲恭的办事原则。大家多了解一点是不会有错的。
    举个具体的例子来说。假如我要编写一个共享软件。我要怎么做呢?
    1。要好好想想我要写的软件有没有“钱”途。时间在15天-30天左右。
    2。好,我已经决定要写xxx软件了。
    3。在网上找几个对xxx最有威胁的同类软件,分析它们优缺点。要它们的优点,不要他们的缺点。
    4。根据前面分析的结果,大概的列出xxx软件应该具有的功能表
    5。写出1.0版的基本功能表,写出1.x的功能表。
    6。选择编程语言
    7。上网找类似的源代码,算法。RFC标准文档。吃透.
    8。根据你选定语言,算法,标准文档,写出xxx的详细设计文档。
    9。按照设计文档编写代码
    10。测试和卖

   第三,哪里有资料,标准文档
   代码的世界是千变万化的, 在开始一个新的项目之前,完全可以找一个类似功能的代码来看看。这样可以更好的改进你的程序。有时还可以加快进度。还有当新的技术出来时,你要看看相关的文档。虽然不要完全了解它的功能,好处。但是你至少要知道新的技术能用在什么地方。怎么用。配合什么用能更好的发挥它的作用。编写软件不是全部的东西都是自己写的,有很多的功能是一种标准。也许是标准算法。像图形的,多媒体的,加密解密的算法。有的是一个标准的文件格式,像各种图像文件,多媒体文件。还有的是一种标准的约定。像email,telnet等常见的网络工具。
   所以你要知道你可以从哪里找你要的资料。我把我知道的都写在这里
      源代码和技术资料站点
      www.vchelp.net gb
      www.csdn.net gb
      www.codeguru.com en
      www.codetools.com en
      www.dexv.com en
      msdn.microsoft.com en
      www.programmerheaven.com en
      www.freshmeat.net en
      www.sourceforge.net en
      www-900.ibm.com/developerWorks/ gb
      论坛和标准,组织
      www.linuxaid.com.cn gb
      www.linuxbyte.com gb
      www.aka.org.cn gb
      www.rfc.org en gb
      各种maillist,irc

   第四,要掌握的工具和知识
     下面的工具也许你用过,也许你没有用过。不过没有关系的。同行的老鸟会教我们怎么用的。(我想到哪个就写哪个。没有顺序问题)
      1。数据库工具
         建数据库工具,代表 powerdesigner
         数据库分析工具。很多大型的数据库都会带的。
      2。流程图设计 代表 visio 2000 , smartdraw
      3。case工具  代表 rose
      4。代码分析工具
         代表 bounderchecker(for vc delphi),smartcheck(for vb) ....
      5。编辑器
         代表 vi,vic,Ultra Edit
      6。源代码管理
         代表 vss ,cvs
      7。编程工具,不要我多说了吧
      8。其他的,我没有用过的,但是也许在某个行业用的很多的工具。(废话 :))   

      知识的话,因为每一个人的发展方向不一样,所以大部分人的知识结构都不一样。但是有几点应该是一样的
      1。英语能力
         主要的新的技术,文档资料都是用英语来首发的。如果要学到更好更新的知识,技巧。不懂点英语也是不行的。也不要指望有人给你翻译出来。一般来说,这些资料,看的懂的人不需要翻译,看不懂的人没有办法翻译。所以大部分的资料还是英语原文的。当然也有很多的人在翻译这些文章,但是对于这么多的资料来说,翻译过来的只是很小很小的一部分。
      2。设计能力
         虽然一般来说,正规的公司有系统分析员做设计(我猜的)。但是70%-80%的小公司,可就不一定了。知道一点软件工程的知识,知道一些文档设计工具怎么用。或者知道应该有哪些设计文档。也是很有好处的。
      3。语文写作能力
         编程时候,大部分时间都是在写代码。但是代码的注释,各种文档的编写,测试报告,说明文档,使用手册这些都需要文字功底的。 还有用email,bbs,qq这些工具与人交流的时候,如果话都说不清楚,那交流就更谈不上了。水平提高进步也就有点问题了。
      4。学习能力
      没有几个人是全部学会了再去工作的。这个不是很现实。目前社会也不太允许这样做。一边工作一边学习是很常见的。也许很多人是在工作之中才学会做某些事情的。很多技能也是这样会的。
此外,很多新的项目的到来。很新的技术的到来都要求我们能适应新的工作环境,新的工作要求。如果没有好好的学习是很容易被一个项目踢掉的。呵呵。
    第五,知道自己要做什么,要学什么,要发展什么。
软件技术是多的像9个牛上的毛一样多,也许还要多很多。如果我们什么都要知道。哦,天哪,我不想活了。
作为一个软件人员也好,作为一个初学者也好。知道自己要往那个方向走是很重要的。不然很容易的就饿死在软件技术迷宫里的。最后只好不干这一行了。这个可不太好。
一般来说,作为一个软件人员,掌握一到两个语言的开发能力就可以了。另外除非你是想做软件技术的研发(这些工作最有钱,也最受欢迎)。如果不是做软件技术的研发,只是一般的应用程序编写的话,不用太关注今天出来什么新的技术,明天又出来什么新的技术。这些东西只要知道就行了。知道有这么回事就可以了。以后有用的到的地方再去认真的关注。
    第六:知道的更多
很多初学者最麻烦的事是怎么在这么多的软件技术里面选择一种又好学,又有前途(钱途),又能做点什么伟大的事情的技术来开拓软件开发这个他们唯识的领域。对于这个麻烦的问题,很少有解。
如果你能遇到一个很好的老师,那就是你的福气,千万要抓住这个机会。如果你不得不一人做出这个决定,那只能是小心翼翼地来了。不过一般来说学c和c++都是一个不错的选择
初学者的另外一个麻烦的问题是,当我选择之后,在学习过程中出现的很多这个和那个的新技术,新的变化。我该怎么办。这个也基本无解。只能是你自己慢慢慢慢积累。积累到你能理解这些新技术的出现是为了什么,这些新变化的发生是为了什么之后。你就会不怕这些的新的东西。
我的一向坚持的那样,如果我知道的更多,我的力量就会更大。我就更不会怕出现变化。如果因为你的信息不足,而无法对某件事情进行判断时,千万不要强行进行判断。对你没有好处的。
                                            作者 :很土
                                            V1.0完成时间 15:25 2002-3-25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8个

财富等级: 恭喜发财

发表于 2002-11-5 19:48:37 | 显示全部楼层
呵呵。高论
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 192个

财富等级: 日进斗金

发表于 2002-11-8 17:51:55 | 显示全部楼层
有道理
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-28 17:30 , Processed in 0.193300 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表