㈠ .NET的学习步骤,先学什么,用什么书
基本常识
掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,那绝对学不下去!
第一步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。 第一步:学习HTML与CSS 这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。
第二步:学习JavaScript JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。 JavaScript在目前的网站开发中用得很多,非常重要。 另外,它也是目前非常流行的AJAX技术的基础。
第三步:学习计算机网络原理 找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。
第四步:学习ASP.NET表示层技术,会设计Web页面 需要结合先前打好的面向对象技术的基础,至少掌握以下内容:
(1) 各种Web控件的使用方法,
(2) 理解信肆宴息在网页中的传送方式,比如Cookie,ViewState,Session等的锋搭使用。
(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4) ASP.NET实现事件驱动的内幕
(5) 自定义用户控件 再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。
第五步 掌握数据库技术 具体地说,要学习以下内容:
(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程
(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3) 学习数据绑定控件的使用
第六步 理解多层架构 这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。 可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。 有的朋友问:学习架构是不是必须学习设计模式。 我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结银雹拿果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。
第七步 学习XML与Web Service 先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。 学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。
第八步 学习AJAX 学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。 在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。
第九步 学习RIA技术 RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。
参考书籍
1.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:Microsoft .NET框架程序设计(修订版)
作者:Jeffrey Richter
译者:李建忠
出版日期:2003 年11月
出版社:清华大学出版社
推荐理由:框架设计是我看的第一本真正意义上的.NET书籍,之前看过很多,但都是工具类的。如果仅仅把.NET作为开发程序的工具,那些书就足够了。但是.NET绝不仅仅是个工具,它是一种思想、一个平台。要想深入学习,必须对其Framework有所了解。《Microsoft .NET框架程序设计(修订版)》无疑是学习.NET Framework最好的一本。李健忠老师的翻译通俗流畅,并且字里行间流露着他对.NET的深刻理解。这本书陪伴我度过了研究生期间很多无聊的课程。不过初学者看这本书开始也许会很费劲,有一次一个同搞.NET的同学拿过去翻了翻就扔给了我,说:看不懂。
2.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:重构:改善既有代码的设计(中文版)
作者:Martin Fowler
译者:侯捷,熊节
出版日期:2003 年9月
出版社:中国电力出版社
推荐理由: 重构,这个既简单又深奥的概念直到现在仍然吸引着广大设计爱好者。几年前当我几乎被这个名词弄晕的时候,我找到了这本书——重构的诞生地。它同样是我的“课堂书籍”。与《框架设计》不同的是,它的概念和理论十分简单,即使对编程只有一点点的认识,也能很惬意的阅读本书。因为它所阐述的,就是我们程序员平时所做的——修改代码。但如何更好的修改,使其更符合OO标准,又是一个非常复杂的过程。
3.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:敏捷软件开发:原则、模式与实践
作者:Robert C. Martin
译者:邓辉
出版日期:2003 年9月
出版社:清华大学出版社
推荐理由: Bob大叔最脍炙人口的作品。如果你看过《设计模式》与《重构》,那么推荐你接着看这本,对于设计模式的理解就会上升一个层次。熟练掌握各种设计原则,我们就不必再死记那些刻板的模式。只要我们的设计复合原则,就是一个良好的设计。《设计模式》、《重构》和《敏捷软件开发》是设计爱好者必读的三本书。
4.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:ASP.NET 2.0揭秘
作者:Stephen Walther
译者:谭振林,黎志,朱兴林,马士杰
出版日期:2007 年10月
出版社:人民邮电出版社
推荐理由:将近一年没有搞ASP.NET了,因此这本书买来也束之高阁。但此书1.1版本却令我印象深刻。当年就是那本绿皮的《ASP.NET揭秘》把我领进了ASP.NET的殿堂。我甚至一度认为其它的ASP.NET书都是垃圾(特别是清华大学出版的Wrox的红皮书,其实是翻译的太烂)。虽然2.0版本的中文版姗姗来迟,但是我仍然认为它值得收藏。特别是四位国内MVP的加盟,一定不会让人失望。越来越多的技术高手加入到写书译书的队伍中来,会彻底改变国内翻译书籍没法看的尴尬局面。
5.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:Head First设计模式(中文版)
作者:Eric Freeman,Elisabeth Freeman,With Kathy ierra,Bert Bates
译者:O'Reilly Taiwan公司
出版日期:2007 年9月
出版社: 中国电力出版社
推荐理由:这是一本让人拍案叫绝的书,它用浅显风趣的语言和别具一格的表现形式,把《设计模式》中天书一般的理论展现的精妙绝伦。如果你对设计模式还一知半解,或被《设计模式》中晦涩的文字搞得晕头转向,那么赶快来阅读本书吧。然而从某种意义上说,《Head First设计模式》是一本不能看的书,因为你一旦看过,会对其它的书倍感失望。所谓曾经沧海难为水是也。
6.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:重构与模式
作者:Joshua Kerievsky
译者:杨光,刘基诚
出版日期:2006 年12月
出版社:人民邮电出版社
推荐理由:很遗憾,我是在看完《Head First设计模式》后看得这本书,因此对其语言的易读性很是失望。甚至一度把它放回了书架上。但是这并不代表它不是一本经典书。它将重构与模式完美的结合,使我们明白了设计是按照设计原则将代码重构成模式的过程。
7.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:C#和.NET 2.0 实战:平台、语言与框架
作者:Patrick Smacchia
译者:施凡,李永伦,谭颖华,徐宁
出版日期:2008 年1月
出版社:人民邮电出版社
推荐理由:不管你使用什么语言进行开发,都希望手头有一本大而全的参考书。否则东一本框架、西一本语法,南一本WinForm,北一本ASP.NET,会把人搞得很崩溃。尽管Google和网络在绝大多数情况下可以解决问题,但是万一没有网络呢?《C#和.NET 2.0 实战》就是这样一本书,它包罗.NET的万象,编程时遇到任何问题都可以先翻开本书寻找答案。如果你是一个.NET程序员,案边放这样一本书是再适合不过了。我在读书小组推荐过这本书。
8.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:企业应用架构模式
作者:Martin Fowler
译者:王怀民,周斌
出版日期:2004 年7月
出版社:机械工业出版社
推荐理由: 秉承Martin Fowler一贯的通俗易懂的写作风格,用最浅显的语言描述复杂的概念。书中所列举的各种模式,我们肯定都或多或少使用过。本书是分层设计的指导书。
9. 推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:.NET 设计规范——.NET约定、惯用法与模式
作者:Krzysztof Cwalina,Brad Abrams
译者:葛子昂
出版日期:2006 年7月
出版社: 人民邮电出版社
推荐理由: 你是否修改过别人的代码?你是否因为混乱的命名规则和晦涩的变量名称抓狂?如果所有.NET程序员都读过《.NET 设计规范》,这一切也许就不会发生了。它虽然名称为“Framework Design Guidelines”,但实际上不仅仅是指导我们如何编写框架,它本身就是.NET Framework的设计规范。我们平时在做任何开发,哪怕是最简单的工具时,也应该遵循书中所提出的标准。
10.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:设计模式:可复用面向对象软件的基础
作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides
译者:李英军,马晓星,蔡敏,刘建中
出版日期:2004 年9月
出版社: 机械工业出版社
推荐理由:之所以最后推荐本书,并不是因为它不如前几本,相反,它应该是所有设计爱好者的第一本书。但它太晦涩了,它就像是一本武林秘籍,不是所有人都能参透其中的奥秘。然而幸好很多高手练成绝世武功后,把他们的心得写了出来,这些心得要好理解得多。因此《Head First设计模式》、《设计模式解析》、《Java与模式》等应该称为设计模式初学者的首选。
㈡ Net应该学什么 怎么学
第一步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。 第一步:学习HTML与CSS 这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都喊启枣必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。
第二步:学习JavaScript JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。 JavaScript在目前的网站开发中用得很多,非常重要。 另外,它也是目前非常流行的AJAX技术的基础。
第三步:学习计算机网络原理 找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。
第四步:学习ASP.NET表示层技术,会设计Web页面 需要结合先前打好的面向对象技术的基础,至少掌握以下内容:
(1) 各种Web控件的使用方法,
(2) 理解信息旁蠢在网页中的传送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4) ASP.NET实现事件驱动的内幕
(5) 自定义用户控件 再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。
第五步 掌握数据库技术 具体地说,要学习以下内容:
(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程
(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3) 学习数据绑定控件的使用
第六步 理解多层架构 这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。 可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。 有的朋友问:学郑拆习架构是不是必须学习设计模式。 我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。
第七步 学习XML与Web Service 先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。 学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。
第八步 学习AJAX 学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。 在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。
第九步 学习RIA技术 RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。
㈢ 使用ASP.net技术创建一个网页,如何做
先下载visual studio,然后找本asp.net的书看
㈣ 学.net可以做什么
.net平台拥有一整套产品,比如:.net framework(.net框架),XML Web Service等等。 那么学习.net技术可以做什么呢?.net和Java作为目闷李旅前软件开发的两条主要的大路,由于越来越多的企业纷纷采用.net技术开发,或将现有产品移植到.NET平台上,使.net的应用空前广泛。.net的快捷开发,高蚂凳效率,低成本的特性,已经真正给从事.net的扰芦开发人员带来了令人欣喜的机会和强大的竞争力。市场对.NET开发人员的需求越来越大,在各大职业网站上,.net的开发人员的职位数量已远远超出其他职位。 学习.net可以做的职位有很多,比如WEB开发、移动开发等等。IT行业需要各种层次和职业能力的人才,只要掌握了这一门技术,关于这个方向的职位都可以胜任。
㈤ 想成为一名.NET技术人员,需要掌握哪些知识
如果你用C SHARP语言的话..至少要熟练使用C#..了解.net framework机制..比如抚管等..这就是框架..实际工作中还要求你了解程序构架...NET常用三层构架..什么是三层构架..你可以搜一下..这就是其本功..你说的详细..那是没法详细的..因为你如果工作的话..需求就是你的工作目标..什么样的需求就需要你详细了解什么样的技能闭贺..至于思想不思想扮陆的..那是人与人之间不同的..我不建意你拿着什么思想的书照搬别人的..工作久了..你会形成自己的思想..当然是以严谨代码风格为前提..祝你早日成为合格厅态顷的程序员..
㈥ 我想学习.net 不知道从何处入手 是不是应该先学习C#
不一定非要学习C#但是学习C#绝对是最好的方式。
.NET是一种平台环境。从编程角度来说,它提供了一种规范的接口去调用.NET已经为软件开发人员包装好的大量的功能便于你在自己的软件开发中直野薯接使用。这就好比说.NET是一个大大的工具颂模者箱。
作为使用工具的人,你首先要知道自己使用工具的目的和方法,而这个过程显然是需要你懂编程。VC, VB, C#等等支持.NET的开发语言,至少要掌握一种的,而这其中最佳码唯的选择现在看来非C#莫属。
㈦ net程序员怎么提升自己的技术能力
一、先列三个常见的开发场景:
1、拿到一个模块详细设计文档,大部分程序员的通常做法就是开始搭建界面代码,然后从第一个按钮点击事件或页面Load事件开始写第一行业务代码。写的差不多了,就运行一下,发现哪里不是自己想的那样,就改改,直到改到是自己预想的那样。
2、做完了一个功能模块或几块相关联的功能模块,输入111asd,发现新建正常、保存正常,就提交给测试人员。测试员用测试用数据、测试场景用例来测试,发现有问题,就登记bug。对于严重的影响下一步测试的BUG,测试员就用内部IM通知这个开发人员。对于不影响继续往下测试的BUG,测试员就登记下来,等程序员有空时处理。
3、程序员一般工作不希望大家打扰,所以开发起来就是开发。等手头开发告一段落,就看看BUG库。发现有与自己有关的BUG,就从第一个BUG开始看起。就开始通过IM和测试员掰扯起来(这不是个BUG啊、业务逻辑不是你想的那样啊、我这里不能重现啊、你给的信息描述不清晰啊),于是IM几来几往,甚至跑过去当面交流一番,甚至会拉扯上产品经理一起讨论,更甚者需要项目经理或产品经理发起一个会议来集体讨论一下
这是不是很熟悉呢?这就是大部分程序员开发的三个步骤:写代码、自测、修复BUG。
二、说好的代码设计、代码测试呢?
代码设计?那不是都有开发平台么,已经固化了啊。那不是维护旧功能做完善修改呢么,又不是写新代码,只能在现有代码基础上修改啊,你又不能大幅重构。
代码测试?你丫需求讨论期、产品设计期、设计评审期那么长,都把研发项目时间占光了,就留下2个星期让我们写代码,我们哪里有时间搞那么深的测试。还想让我们搞结对编程?还想让我们搞测试驱动开发?
而且你看测试,什么功能测试、集成测试、性能测试、安全测试、安装部署测试、升级测试、迁移测试、UAT测试,一大堆测试,测试也需要很多时间。
一个项目,需求讨论、产品范围规划与评审、产品设计与设计评审占了一个半月,开发+自测就一个月,测试占了一个半月,这就4个月了啊。
三、为啥程序员写代码总是写写测测?
刚才大家也都看到了,大部分程序员都是从界面代码开始写起,而且写一写,就运行一下看看。为什么会是这种开发方式?
那是因为大部分程序员缺乏在脑子中的整体建模能力。只能做出来一点,真实的感觉一下,然后再往下。
有些是产品经理的上游就有问题,没给出业务流程图(因为产品经理也没做过业务),也没画清楚产品功能操作流程图。
为啥没给出业务流程图?因为产品经理不熟悉业务,另外,产品经理也没有流程建模能力啊。为啥没画清楚产品功能操作流程图啊?因为不会清晰表达流程啊。
很多产品经理、程序员,都缺乏分类、分层、相关、先后能力,更别说总结、洞察能力。
这是基本训练,是一个做事头脑清醒的人必备的技能,这不是一个程序员或产品经理或测试员的特定技能要求。
我经常看书就梳理书的脉络,每看一本就写一篇总结。我过去闲扯淡还梳理过水浒传、红楼梦的人物关系图呢,其实就在事事上训练自己的关联性、层次性、洞察性。
我经常面试一个人时,我会问这样的问题:“你把我刚才说的话复述一遍,另外你再回答一下我为什么会这样?”,其实,我就在看一个人的细心记忆、完整梳理、重现能力,我也在看一个人的梳理、总结、洞察能力。
我个人写代码就喜欢先理解业务流,然后理解数据表关系,然后理解产品功能操作流,大致对功能为何这样设计、功能这样操作会取什么表、插入或更新哪些表,哪些表的状态字段是关键。
然后我写代码的时候,就根据我所理解的业务流、功能操作流、数据输入输出流,定义函数,定义函数的输入与输出。
然后,我会给函数的输入值,赋上一些固定值,跑下来看看能否跑通这几个关联函数,看看还需要怎样的新增函数,或者看看函数的输入输出参数是否满足跑通。
剩下的事,就是我填肉写详细逻辑代码了。
当然,大部分人没我这样的逻辑建模能力。怎么阅读理解也想象不出来,也没法定义函数。毕竟有逻辑建模能力的程序员都很少,100个人里有10个,已经是求爷爷告奶奶好幸运了。
那怎么办呢?
我建议是分离分工配合,这就是现实中没办法的办法。让有逻辑建模能力的人来设计函数框架、来设计工具来设计代码模板,然后让没有逻辑建模能力的人来填肉写详细逻辑代码。
我们可以先从最紧要的模块开始这么做。不紧要的模块,还让它放任自流,让熟练手程序员继续涂抹。
我曾经还让有头脑的程序员做榜样,给大家分享他是怎么规划函数的,怎么做维护性代码的代码结构改善的。但是发现效果并不佳,其他人并没有因此能做代码设计。可能逻辑建模能力是个人的基本素质,是从小到大训练成型的,不是你一个大学已经几年的人能够短时间内可以训练的。
所以啊,还是让能走的人先走,让从最紧要的模块开始这么做。
不必担心这样做后,因为过去一件事被分工(一个做代码框架一个填肉)成两个人做了会降低工作效率。我们很多的工作效率低就是因为半瓶子醋搞出来的,来回反复修改。
真是应了刘德华在电影里说的那句话:说你又不听,听又听不懂,听懂了又不做,做又做不好,做不好还不服气。
四、为什么大部分程序员不做代码测试或白盒测试或单元测试呢?
还是因为没有代码设计。因为没有函数啊。所以,一个按钮功能有多复杂,代码就有多长。我见过2000行的函数,我也见过1000多行的存储过程和视图SQL。怎么做白盒测试啊,这些代码都粘在一起呢,要测,就得从头到尾都得测。
所以啊,先学会设计函数,先写好函数,这就求爷爷告奶奶了。很多开发了5年的熟练手程序员,可能都未必会写函数。
函数的输入输出值就很有讲究。很多人都写死了,随着版本迭代,发现过去定义的函数参数不够用了,于是就新增了一个参数。然后,相关性异常就爆发了,其他关联的地方忘改了,到底哪些有关联,怎么查啊,本系统没有,没准其他系统就调用你了,你根本不知道哪个神经人曾经COPY过你的代码修吧修吧就改成了他的功能呢,而且里面的很多代码他看不懂也不敢删,只要他实现的功能正常了他也不管了。于是,你改了你这个函数,他的系统就莫名出错了。
所以,我一般会定义几个对象来做参数。另外,我也很注重函数的日志、函数的异常保护、异常抛出、异常返回。另外,我也很注重参数输入值的合法性校验。
所以啊,应该开发Leader们先制定函数编写规范最佳实践,输入输出参数怎么定义比较好,函数的返回值如何定义比较好,函数的日志记录应该怎么写比较好,函数的异常保护、异常抛出、异常返回如何写比较好。先教会一般程序员,先从会写函数开始啊。
当然,你光有一份规范,程序员们还是不理解、不实际应用啊。所以,还得Leader们做好典型的代码模板,里面是符合函数规范的代码框架,只有这样,一般程序员们才会照猫画虎适应了函数设计的编程习惯。
所以啊,我专门重新定义了leader的明确职责,其中第一个重要职责就是:负责工具/框架/模板/规范的制定,并且负责推广且普及应用落地。
你不明确定义Leader的这个重要职责,你不对这个职责做明确的KPI考核,谁尿你啊。你以为好的工具/框架/模板/规范是靠人们的热情、自发产生的么?我们还没有那么自觉高尚啊。
五、为什么大部分程序员不写注释啊?
我经常说一句话,千万别多写注释。为啥?
因为我们经常遇到的问题不是没有注释,而是更糟的是,注释和事实代码逻辑是不相符的。这就出现常见问题了:残存下来的设计文档是一个逻辑、注释是一个逻辑说明、真实代码逻辑又是一个,钟表多了,你也不知道正确时间了。
所以啊,产品文档、注释、真实代码,三者总是很难一致同步。我为了几百人研发团队能做到这个同步花了大量心血和办法,但我最终也没解决了这个问题,还把Leader们、总监们、我都搞的精疲力尽。
索性回归到一切一切的本源,代码,就是程序员的唯一产出,是最有效的产出。那么,让代码写的不用注释也能看懂,咱得奔着这个目的走啊。
为啥看不懂,不就是意大利面条式代码么,又长又互相交杂。
OK,我就规定了,每个函数不能超过50行。用这一个简单规定和静态代码检查插件,来逼迫大家尝试着写函数。有的函数属于流程函数,是串起其他函数的,有的函数就是详细实现函数,实现一个且唯一一个明确作用的。
有了流程函数和功能函数,而且每个函数不超过50行,这就比过去容易看懂了。
六、为什么大部分程序员不抽象公共函数啊?
我经常说一句话:千万别抽象公共函数啊。为啥?
因为大部分程序员缺乏抽象洞察能力。特别是有些积极热情有余、爱学习爱看书、半瓶子醋晃悠的二杆子,看了几本UML、重构、设计模式、整洁代码之道,就跃跃欲试了,还真敢给你抽象公共函数了。
一开始,他觉得80%相似,20%不相似,于是在公共函数里面简单写几个if..else做个区隔就可以。没想到,越随着版本迭代,这些功能渐渐越变越不一样了,但是这个代码已经几经人手了,而且这是一个公共函数,谁也不知道牵扯多少,所以谁也不敢大改,发现问题了就加一个if..else判断。
没想到啊没想到,这个本来当初公共的函数,现在变成了系统最大的毒瘤,最复杂的地方,谁也不敢动,除非实在万不得已,手起刀落。
所以,我平时告诫程序员,纯技术的、纯通用的,你们可以尝试搞搞抽象公共函数,对于业务的,你们还是简单粗暴的根据Leader们做的代码模板代码框架,乖乖的复制、修改、填肉吧。
你们啊,先从做模板做代码片段开始吧,咱们放到咱们内部代码片段开源库里,看谁的代码片段被别人复制的多,说明你的代码抽象设计能力越好了。那时候,我就大胆放心让你撒丫子跑了。在没有学会跑之前,给老子乖乖的复制、修改、填肉吧。
㈧ 如何写网站技术解决方案(.net)
1.首先建立网站:文件--新建--网站--ASP.net网站
2.在解决方案资源肆链管理器中会显示新建的网站,并且在网站中会有默认的一个网页文件,双击.aspx文件就可以对该网页进行页面设计了
3.在.aspx文件下有一个.cs文件,铅租该文件可以对网页进行后台编程
4.也可以新建网页,在解决方案资源管理器中右键单击网站名--添加新项--Web窗体,就可以用上面的方法对新网页进行设裂激孙计了
不知道回答你的对不对,希望可以帮到你
㈨ 关于net开发人员需要学些什么知识
首先要会oo面向对象思想 其次要精通一门net平台支持的语言 然后要精通数据库开发,熟悉mssql server 最后就是net框架你要了解,熟练使用vs.net2005开发工具
net下语言有很多(C#,vb,J#,C++),web开发开发中用到的是C#和vb,目前C#占绝大多数,推荐学一学C#语言。另外可以通过学习C#掌握一些framework类库。比如IO操作扒闹带,ADO.NET五大对象等等。接着学习javascript,然后学习jQuery,要了解ajax。
sql必学也必须精通,后台操作无非就是增删改查,其中查询用的多一些,联合查询,聚合函数都要会。如果你不做前端开发的话,css了解一下就行,至少要会调用,要明白意思。学一些报表的开发,比弯圆如水晶报表,微软春芦的ReportView,都差不多的。到了这一步你就不能在页面中再用语句手动绑定控件了。现在要熟悉一些框架,linq,实体框架,nhibernate。
学习web service,wcf。学习设计模式,比如常用的那几种工厂模式,单体模式,适配器模式,观察者模式等等。
大致上就这些了,等你会了这些,你会发现你提高了很多,还有好多知识需要学习,也明白该学什么东西了。
㈩ .net技术如何入门
年少虽胜~~轻狂则败~~
某种东西之所以判袜樱被称为简单,是因为这个东西你并没有让它达到难的程度,肤浅的东西自然就简单~~
用控件编程是为了让你更方便的赚钱~~
如果让你拿汇编写一个B2C,那敢问是何年何月可完~~
.Net 包括:VB.net,C#.net,J#.net,C++.net
当今.Net可最流行的要属C#.net 与 VB.net
而VB.net的编程规范掘丛不够正统~,在有C,C++做好丛基础的情况下,最好去学C#.net,但C#是与DirectX等游戏算法接触并不多!
如果想搞游戏编程,那么请用C++.net
而懂JAVA的可以去搞J#.net
把.Net分解开来之后,至于如何入门到.Net,就看你选哪种.Net语言了!选了之后就像你学C或C++一样简单了!
以上是我的个人观点~只做参考!如有出入请见谅!
学无止尽~~努力~~