解压密码:见最后
不要成为语言的奴隶!献给热爱软件开发的朋友(一位系统分析师的忠告!)
呵呵,当然这句话是献给那些想成为高手的朋友的.
如果是初学者,当然必须先通过一门语言的学习磨练的.代码是软件的本质,再好的软件没有代码那肯定不是软件(废话!:)),当然我这里并没有说文档就不重要了.
对于软件的学习,我有几点建议与大家共享:
起步:最好能有些计算原理,操作系统,数据结构,软件工程等方面的理解能力.
1.透过语言看本质.
任何语言的学习是不能脱离环境来单独用的!,所以学C#肯定是要结合.NET Framework.
我经历了.NET Framework1.0,1.1,2.0,包括现在也正在研究3.0的框架.框架都不外乎要做到:内存管理,安全管理,异常管理,编译环境管理,类库管理等.
a.内存管理:这是任何一个优秀语言和框架的招牌功夫,不要想像现在的内存条容量很大又如何的便宜,那些垃圾软件可以在半个小时内照样把你的内存空间吃得通光!
一个软件加载到内存中,占用的内存区可分二大部分.
第一部分:代码区(存放程序代码的空间,空间大小也是差不多固定下来的).
第二部分:数据区(存放程序代码加载的各种数据).
数据区可分为:全局/静态数据区,常量数据区,栈,堆,对于全局/静态数据区,常量数据区会在程序编译阶段就已分配好了固定的空间,这样,消耗内存容量的情况就关健看栈和堆了.
栈的空间大小在程序中是按固定大小分配的,这个固定大小哪倒底是多大?这是要由编译器决定的事啦,在VS.NET2003中栈的大小默认是1MB,当然我们可以通过编译选项来指定栈的大小,但通常栈也不会太大.由于栈上的内存是系统自动分配,压栈和出栈都有相应的指令来进行操作,因此效率较高,并且栈的内存空间是连续的,不会产生内存碎片,所以内存的分配管理最后重任落在了堆上,
堆的大小只受限于系统的有效虚拟内存大小,一般是用来分配一些占用内存较大的对象或数据,由于堆所占用的内存是由开发人员来动态分配和回收的,当NEW(C#用new,C++用new,malloc)申请内存时,系统需要按一定的算法在堆空间(虚拟内存)中寻找合适的大小的空闲堆,并修改相应的维护堆空闲空间的链表,然后返回地址给程序,所以效率比栈要低,还易产生内存碎片,针对这个重任,微软在.NET 框架中作了垃圾回收的管理(GC),在.NET中引用类型的都是用堆来分布内存的,当然CG是一种被动的回收机制,要想取得更好更高的性能,快速高效的利用内存,还得要利用成对编码的原则:较晚的分配内存,最早的释放内存,在C++或C#中都提供了构造与析构的方式,但我们也可以提前执行GC,但效率始终没有C++高,呵呵,先天性的.
b.异常管理:很多人写代码时都是把代码一写上,编译一通过,跑一下,OK,就完成了,写代码最好是在写完一句或一个功能时,要看一下,如果有错误时程序是怎么处理的,把正确时的处理与异常时的处理都作好了,你的代码肯定是OK,这样的代码才有容错机制.
c.其他的有时间再谈
2.读代码.
不管你以后要作一个普通的软件工程师或高级软件研发人员,要想写出好的代码,不多读好代码,那肯定是闭门造车,所以成就软件人生,第一关是多读好的代码,现在书市上那有这样的书呀,很少,奇少!petshop,duwamish以及MSDN上的代码都是可以多读的,多读最好能练练手,自己写一写,看代码也有技巧,首先要把代码的类结构搞清楚,再去看具体实现!
3.调试.
写代码的第一关就是调试了,要想成为一个高手,除了多读好代码,多写,伴随着这个过程更多的是调试,所以调试技术最能衡量一个开发人员的重要指标,调试会让你更多的去理解软件是怎么运行的,以后会如何处理这类型的问题,常用的调试估计大学都学过,在.NET中作项目,必须得学会应用程序的调试,脚本调试,window服务及Web服务的调试,数据库程序的调试.调试技术的书籍有一本书推荐:<<.net 和windows应用程序调试>>,清华出版社的,也是Visual Studio.net产品组审校的
4.理解接口和抽像类.
这是.NET的核心之一了,大型的应用软件中,要设计成高可扩展性的应用程序,得依赖松散耦合的原则,高内聚低耦合,接口负责只作业务的定义,把定义和现实很好的剥离了,能够更好的满足这种原则,所以在.NET的设计中不用接口是不敢想像的,在C#中是采用单类多接口的继承方式来进行实现,C++中是多类继承的方式,在petshop4.0中整个的技术架构就是用的接口,在.net Framework(1.0,1.1,2.0,3.0)中也全部是采用接口的设计思想!
其实这一关也是学习JAVA和C++所共同的核心,当然C++是没有接口,只提供抽像类.
5.代码设计.
写出好的代码,得首先要有一个好的代码结构,学会用设计模式会有助于你取得一个更好的代码结构或一个好的框架,其实常用的设计模式不多,在.NET框架中接口和抽像类是你应用设计模式的基础,也可以这么讲吧,其他的如:MVC基于BS的,抽像工厂,工厂方法,外观模式,适配器模式,命令模式,单件模式等
6.文档.一个好的产品或软件都是伴随着各种文档产生的,文档的好处不用多说,如要作好一个软件开发人员,熟练办公软件也是基本功!熟悉基本的软件文档内容写法是最好的.
7.项目.
直接实践,能直接参与到项目中当然是最好的,上面的写的这些东西不仅是只适用于C#,如果你有机会作C++或JAVA,都一样可参考
8.业务分析设计.
现在软件行业的门槛很高了,对于国外的软件大厂如SAP,ORACLE,等都已经提供了二次开发的平台,东软,金碟,用友,浪潮,普元等国内大厂商无一不是这样了.他们对软件代码的编写已上升到业务的建模和设计上了.代码是自动生成并编译的.
他们关注你的并不仅仅是写代码的一些能力,还要求你更多的掌握一些业务分析及设计的能力了.纯粹只知道写一些代码和SQL的人才需求越来越少,懂开发,熟悉业务,懂设计的人才更会受到公司的青睐.
永远要记住:
没有业务表现的代码只是一段垃圾代码.在学习技术的同时要不断的加强业务的学习!
后记:
我发现某些论坛上有一部分的朋友发言说,现在进入软件行业的门槛很低了-----他们觉得在外面花4块钱就可以买一张DVD安装碟把开发工具,数据库一装,网上找点资料就进入软件开发了.
呵呵,真奇怪他们这么说,更奇怪的是一些计算机专业或非计算机专业的在校生,在大一就开始大规模的.NET,或JAVA了,我不反对大一或高中就开始JAVA或.NET
但如果你真正想要比别人更高,学得更好,走得更远,就得老老实实,扎扎实实的在前期要多花点时间把一些基础的知识打牢!很多人认为这只是理论,不实际,你就大错特错.
可能有些朋友都装上了windows vista了,玩的是vistaul studio .net 2008了,但你知道这里面核心的东西是那些吗?你了解吗?微软公司的东西更新特别快,这也是大家的一个共认的事实.
但你不要虻目的瞎跟,搞微软的东西是有规律可循,COM这个名词对于70年代出生的技术人是很熟悉了,COM是基于接口来设计的,微软的产品也是从COM开始大规模的面世了.但你不要认为现在都.NET了,还什么COM呀,你知道.NET平台最核心的东西之一就是CLR吧,CLR就是一个COM的封装.它是一个运行时的东西了.只要你装了.NET2003 ,还是.NET2005,这个家伙就在你机器一起动的时候就自动启动了.
十几年的东西了,你们都感觉它们远去了,但真的远去了吗?它每天都在你身边!!!!!只是你没去了解而已!!!!!!!
我讲这些也不是说你一定要精通操作系统,精通widnows,COM,学东西是要分层次的,全部一起搞不对,全部不搞也不对,要有重点,比如,你现在学习.NET或JAVA,可能在学习或开发的过程中适当的培养你一些分析的能力,在你学技术作开发的同时,适当学习或进修业务的知识,这样你的知识体系就不会形成一个断层,这样的人才,就是一个可发展的人才.你这样才会被公司看重.你这样才能胜过你的竞争对手.
奇怪的现象不只是上面说的,有些已经上班作开发的朋友,经常说作开发没意思,想要跳,但要他自己仔细问问自己.又不懂业务又不懂设计,跳个P呀,跳到哪里都是一样!
我很喜欢看武侠电影,像邵氏的功夫片几十上百部的收藏了.看了那么多,感觉有一个共同的东西,一个武林高手在成名之前,一般有两件事情少不了.
一是碰到一个高手,这个高手是一个武林前辈,也有可能是一个前辈留下的武功秘籍,我们可以理解为碰到高手(有形或无形的);二是努力的训练,好像一般都是一年几年的把功底练好,最后再练好一二手绝招.
呵呵,我们也不一定是要成名,关健是如何又好又快的把东西搞出来.我提到又好又快其实有三个含义,第一你要作得出这个东西,第二是要好,因为这一点你就可以跟别人作的不一样,第三是快,现在的社会如果东西你可以作出来,也作得好,但比对手慢了一二年,这样也不行,学东西也一样是这样的道理.
上面的文字只是和大家交流交流的,说得不好的地方也请见谅.
本处提供业务指导,软件项目指导,一带一,收费性质.(无诚信者请勿打扰!)
中国电信大客户管理系统业务需求书解压密码:lijianxin
网上咨询,慧源软件研发中心
Q Q: 865220327
MSN: HYCenter@hotmail.com
没有合适的资源?快使用搜索试试~ 我知道了~
中国电信大客户管理系统业务需求书.rar
共2个文件
txt:1个
rar:1个
5星 · 超过95%的资源 需积分: 10 13 下载量 17 浏览量
2010-11-26
13:14:26
上传
评论 1
收藏 273KB RAR 举报
温馨提示
中国电信大客户管理系统业务需求书.rar中国电信大客户管理系统业务需求书.rar
资源推荐
资源详情
资源评论
收起资源包目录
中国电信大客户管理系统业务需求书.rar (2个子文件)
中国电信大客户管理系统业务需求书
中国电信大客户管理系统业务需求书.rar 268KB
不要成为语言的奴隶!献给热爱软件开发的朋友(一位系统分析师的忠告!).txt 7KB
共 2 条
- 1
资源评论
- z777abc2013-09-02写的不错,也不需积分
- jjhbeloved2013-12-17写的不错。
teayeah
- 粉丝: 2
- 资源: 143
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功