让知识连接你我
投稿赚钱
当前位置: 首页 > Linux > 开发人员需要知道的东西杂谈,详谈程序编写的核心有
  • 101
  • 微信分享

    扫一扫,在手机上查看

开发人员需要知道的东西杂谈,详谈程序编写的核心有

2019.09.17 10:00 233 浏览 举报

  考虑到常常看见许多傻乎乎疑问,例如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。学习能力

  没有几个人是全部学会了再去工作的。这个不是很现实。目前社会也不太允许这样做。一边工作一边学习是很常见的。也许很多人是在工作之中才学会做某些事情的。很多技能也是这样会的。此外,很多新的项目的到来。很新的技术的到来都要求我们能适应新的工作环境,新的工作要求。如果没有好好的学习是很容易被一个项目踢掉的。呵呵。

  另外有一点,当上司让你做你不会的东西时,你要告诉他,你不会,但是会在XX天内把他搞定。不会没有关系,会学习也是会上进的一种好表现。

  第五:知道自己要做什么,要学什么,要发展什么。

  世界上软件技术是多的像9个牛上的毛一样多,也许还要多很多。如果我们什么都要知道。哦,天哪,我不想活了。

  作为一个软件人员也好,作为一个初学者也好。知道自己要往那个方向走是很重要的。不然很容易的就饿死在软件技术迷宫里的。最后只好不干这一行了。这个可不太好。

  一般来说,作为一个软件人员,掌握一到两个语言的开发能力就可以了。另外除非你是想做软件技术的研发(这些工作最有钱,在大型的公司是最受欢迎)。如果不是做软件技术的研发,只是一般的应用程序编写的话,不用太关注今天出来什么新的技术,明天又出来什么新的技术。这些东西只要知道就行了。知道有这么回事就可以了。以后有用的到的地方再去认真的关注也是不迟的。自己选择一个发展的方向,努力的向前走。不要被各种各样的新技术诱惑过去。说句实话,很多的所谓新技术的怎么怎么好,怎么怎么优异,很多时候都是有商业行为在里面的。要自己会判断才行。如果不能判断怎么办,看下面的一条。

  第六:知道的更多

  很多初学者最麻烦的事是怎么在这么多的软件技术里面选择一种又好学,又有前途(钱途),又能做点什么伟大的事情的技术来开拓软件开发这个他们未知的领域。对于这个麻烦的问题,很少有解。如果你能遇到一个很好的老师,那就是你的福气,千万要抓住这个机会。如果你不得不一人做出这个决定,那只能是小心翼翼地来了。不过一般来说学c和c++都是一个不错的选择。

  初学者的另外一个麻烦的问题是,当我选择之后,在学习过程中出现的很多这个和那个的新技术,新的变化。我该怎么办。这个也基本无解。只能是你自己慢慢慢慢积累。积累到你能理解这些新技术的出现是为了什么,这些新变化的发生是为知道的更多 ......,这些新变化的发生是为了什么之后。你就会不怕这些的新的东西。

  我一向坚持,如果我知道的更多,我的力量就会更大。我就更不会怕出现变化。如果因为你的信息不足,而无法对某件事情进行判断时,千万不要强行进行判断。对你没有好处的。


本文首次发布于开创者素材 ,转载请注明出处,谢谢合作!

相关文章推荐