因胸联盟 发表于 2015-1-18 11:17:53

ASP.NET编程:给 C# 开辟者的代码检察清单仓酷云

归根到底,net网页编程跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢!这是为C#开辟者筹办的通用性代码检察清单,能够当作开辟过程当中的参考。这是为了确保在编码过程当中,年夜部分通用编码引导准绳都能注重到。关于老手和缺少履历(0到3年事情履历)的开辟者,参考这份清单编码会很匡助。
清单

1.确保没有任何告诫(warnings)。
2.假如先实行CodeAnalysis(启用一切MicrosoftRules)再打消一切告诫就更好了。
3.往失落一切没有效到的usings。编码过程当中往失落过剩代码是个好习气。(参考:msdn)
4.在公道的中央反省对象是不是为’null’,制止运转的时分呈现NullReferenceException。
5.一直遵守定名标准。一样平常而言变量参数利用驼峰定名法,办法名和类名利用Pascal定名法。(参考:msdn)
6.请确保你懂得SOLID准绳。
依据维基百科界说:在程序计划范畴,SOLID(单一功效、开闭准绳、里氏交换、接口断绝和依附反转)是由罗伯特·C·马丁在21世纪初期引进的影象术首字母缩略字,指代了面向对象编程和面向对象计划的五个基础准绳。当这些准绳被一同使用时,它们使得一个程序员开辟一个简单举行软件保护和扩大的体系变得加倍大概。SOLID所包括的准绳是经由过程激发编程者举行软件源代码的代码重构举行软件的代码异味打扫,从而使得软件明晰可读和可扩大时能够使用的指南。SOLID被典范的使用在测试驱动开辟上,而且是急迅开辟和自顺应软件开辟的基础准绳的主要构成部分。参考:wiki/SOLID_(面向对象计划)
7.代码可重用性:假如一块代码已被利用凌驾一次,大概你但愿未来利用它,请提取成一个办法。将反复的事情做成通用的办法放在相干的类中,如许一旦你完成他人就能够利用了。将经常使用功效开辟成用户控件,如许能够跨项目重用它们。(参考:①、②)
8.代码分歧性:例如说,Int32写成int,String写成string,应当在代码里坚持一致情势。不克不及一会二写成int一会儿写成Int32。
9.代码可读性:代码应当是可保护的,便于其他开辟者了解。(参考:msdn)
10.开释非托管资本,好比文件I/O,收集资本等。一旦利用停止就应当开释它们。假如你想一旦超越利用局限就主动开释对象,可使用usings将非托管代码括起来。参考:msdn
11.公道完成非常处置(try/catch和finally块)和非常纪录。参考:msdn
12.确保代码中办法的行数不要过量,不凌驾30到40行。
13.实时用代码办理工具check-in/check-out代码。(好比TFS)参考:codeproject.com
14.互相检察代码:和你的同事互换代码,完成外部检察。
15.单位测试:编写开辟测试用例完成单位测试,确保代码被送到QA之前,基础测试完成。参考:msdn
16.只管制止for/foreach轮回嵌套和if前提嵌套。
17.假如代码只会利用一次,请利用匿名范例。参考:msdn
18.只管利用LINQ查询和Lambda表达式,增添可读性。参考:msdn
19.公道利用var、object和dynamic关头字。因为良多开辟者会感应狐疑大概晓得的很少,会以为它们有些类似,故而互换利用,这是要制止的。参考:blogs.msdn
20.利用会见限制符(private,public,protected,internal,protectedinternal)限制每一个办法、类或变量的必要局限。例如说假如一个类只会在程序集内利用,那末界说成internal就充足了。参考:msdn
21.在必要坚持解耦的中央利用接口,有些计划形式的呈现也是因为接口的利用。参考:msdn
22.依照用法和必要将类界说为sealed、static或abstract。参考:msdn
23.假如必要屡次串连,请利用Stringbuilder取代string,这能够节俭堆内存。
24.反省是不是有不成能实行的代码,假如有,请修正。
25.在每一个办法前正文,申明它的用法、输出范例和前往值范例信息。
26.利用相似SilverlightSpy的工具,反省和操控Silverlight使用在运转时对XMAL的衬着,以此来改良效力。这能够在计划实行XAML时,节俭大批退回和往返修正的工夫。
27.利用filddler工具经由过程反省HTTP/收集流量和带宽,来跟踪web使用和服务的功能。
28.假如你想确认VisualStudio之外的办法,请利用WCFTestClient.exe工具,大概装载它的历程到VisualStudio来举行调试。
29.在任何公道的中央利用constants和readonly。参考:/msdn、msdn
30.只管制止强迫转换和范例转换,由于会形成功能丧失。参考:msdn
31.关于你想供应自界说信息的类,请重载ToString(来自Object类)。参考:msdn
32.制止间接从其他代码中ctrl+c/ctrl+v。一向倡议仍是本人用手敲,即便你已找到相干代码。如许能够熬炼本人写代码才能,还能准确了解那段代码的用法。终极你永久都不会健忘那段代码。
33.坚持浏览书本和文章的优秀习气,遵守年夜神们的理论引导。(好比微软专家和一些出名的专家,MartinFowler,KentBeck,JeffreyRitcher,WardCunningham,ScottHanselman,ScottGuthrie,DonaldEKnuth.)
34.确认代码是不是有内存泄露。假如有,请确保已修改。参考:blogs.msdn.com
35.尽量列入专家们构造的手艺研究会,能够打仗到最新的软件趋向、手艺和最好理论
36.要透辟了解OOP观点,并尽量在代码里完成。
37.晓得项目计划架构,能够从全体上了解程序的实行流程。
38.接纳需要措施制止制止任何交织剧本打击、SQL注进和其他平安毛病。
你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)

活着的死人 发表于 2015-1-20 19:49:07

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

精灵巫婆 发表于 2015-1-29 18:21:08

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

仓酷云 发表于 2015-2-6 10:36:56

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。

蒙在股里 发表于 2015-2-8 07:45:41

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

小妖女 发表于 2015-2-13 18:00:37

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

山那边是海 发表于 2015-2-20 01:07:47

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

变相怪杰 发表于 2015-2-27 04:51:34

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

只想知道 发表于 2015-3-7 03:55:37

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。

深爱那片海 发表于 2015-3-9 20:21:12

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

冷月葬花魂 发表于 2015-3-11 02:06:20

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

飘灵儿 发表于 2015-3-17 18:38:54

主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。

飘飘悠悠 发表于 2015-3-24 19:10:08

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
页: [1]
查看完整版本: ASP.NET编程:给 C# 开辟者的代码检察清单仓酷云