- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
献给热爱软件开发的朋友一位系统分析师的忠告
献给热爱软件开发的朋友(一位系统分析师的忠告!)不要成为语言的奴隶!呵呵,当然这句话是献给那些想成为高手的朋友的. 如果是初学者,当然必须先通过一门语言的学习磨练的.代码是软件的本质,再好的软件没有代码那肯定不是软件(废话!:)),当然我这里并没有说文档就不重要了. 对于软件的学习,我有几点建议与大家共享: 起步:最好能有些计算原理,操作系统,数据结构,软件工程等方面的理解能力. 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.代码设计. 写出好的代码,得首先要有一个好的代码结构,学会用设计
您可能关注的文档
- 浅谈婚姻法中的家庭暴力婚姻法考察课论文.doc
- 浅谈如何运用内经理论结合临床.doc
- 浅谈学案导学教学的问题设计.doc
- 浅谈平凡世界苦难意识深远意义.doc
- 浅谈幼儿教育小学化倾向的弊端及克服.doc
- 浅谈慢性胃炎的诊治现状与对策—李建生.doc
- 浅谈我国婚姻法设立别居制度的法律思考.doc
- 浅谈我国行政强制执行救济制度的完善试用.doc
- 浅谈提高解决问题的策略教学的有效性.doc
- 浅谈教师的人格魅力对学生的作用杨远洪.doc
- 2025年结构工程师能力提升B卷题库含完整答案详解【夺冠系列】.docx
- 2025年结构工程师能力提升B卷题库及参考答案详解(综合题).docx
- 2025年结构工程师能力提升B卷题库word附答案详解.docx
- 2025年结构工程师考试黑钻押题含答案详解(研优卷).docx
- 2025年结构工程师考试黑钻押题带答案详解(模拟题).docx
- 2025年结构工程师考试黑钻押题带答案详解(实用).docx
- 2025年结构工程师考试黑钻押题含答案详解(实用).docx
- 2025年结构工程师考试黑钻押题含答案详解【巩固】.docx
- 2025年结构工程师考试黑钻押题及答案详解(夺冠).docx
- 2025年结构工程师试卷及参考答案详解(最新).docx
文档评论(0)