码迷,mamicode.com
首页 >  
搜索关键字:编写高质量代码    ( 328个结果
编写高质量代码改善C#程序的157个建议——建议73:避免锁定不恰当的同步对象
建议73:避免锁定不恰当的同步对象在C#中,让线程同步的另一种编码方式就是使用线程锁。线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成new出来的普通CLR对象。既然需要锁定的资源就是C#中的一个对象,我们...
分类:Windows程序   时间:2015-08-19 16:23:14    阅读次数:140
编写高质量代码改善C#程序的157个建议——建议77: 正确停止线程
建议77: 正确停止线程开发者总尝试对自己的代码有更多的控制。例如,“让那个还在工作的线程马上停止下来”。然而,并非我们想怎样就可以怎样的,这至少涉及两个问题。第一个问题 正如线程不能立即启动一样,线程也并不是说停就停的。无论采用何种方式通知工作线程需要停止,工作线程都会忙完手头最紧要的活,然后在它...
分类:编程语言   时间:2015-08-19 16:20:18    阅读次数:140
编写高质量代码改善C#程序的157个建议——建议74:警惕线程的IsBackground
建议74:警惕线程的IsBackground在CLR中,线程分为前台线程和后台线程,即每个线程都有一个IsBackground属性。两者在表现形式上的唯一区别是:如果前台线程不退出,应用程序的进程就会一直存在,必须所有的前台线程全部退出,应用程序才算退出。而后台进程则没有这方面的限制,如果应用程序退...
分类:编程语言   时间:2015-08-19 16:17:05    阅读次数:207
编写高质量代码改善C#程序的157个建议——建议76: 警惕线程的优先级
建议76: 警惕线程的优先级线程在C#中有5个优先级:Highest、AboveNormal、Normal、BelowNormal和Lowest。讲到线程的优先级,就会涉及线程的调度。Windows系统是一个基于优先级的抢占式调度系统。在系统中,如果有一个线程的优先级较高,并且它正好处在就绪状态,系...
分类:编程语言   时间:2015-08-19 16:14:26    阅读次数:119
编写高质量代码改善C#程序的157个建议——建议69:应使用finally避免资源泄漏
建议69:应使用finally避免资源泄漏除非发生让应用程序中断的异常,否则finally总是会先于return执行。finally的这个语言特性决定了资源释放的最佳位置就是在finally块中;另外,资源释放会随着调用堆栈由下往上执行。下面的代码验证了这一点,先定义一个需要释放的类: cla...
分类:Windows程序   时间:2015-08-18 13:58:50    阅读次数:186
编写高质量代码改善C#程序的157个建议——建议68:从System.Exception或其他常见的基本异常中派生异常
建议68:从System.Exception或其他常见的基本异常中派生异常微软建议:从System.Exception或其他常见基本异常之一派生异常。在Visual Studio中输入Exception,然后按快捷键Tab,VS会自动创建一个自定义异常类: [Serializable] ...
分类:Windows程序   时间:2015-08-18 13:57:35    阅读次数:182
编写高质量代码改善C#程序的157个建议——建议67:慎用自定义异常
建议67:慎用自定义异常除非有充分的理由,否则不要创建自定义异常。如果要对某类程序出错做特殊处理,那就自定义异常。需要自定义异常的理由如下:1)方便测试。通过抛出一个自定义的异常类型实例,我们可以使捕获的代码精确的知道所发生的事情,并以符合的方式进行恢复。2)逻辑包装。自定义异常可以包装多个其他异常...
分类:Windows程序   时间:2015-08-18 13:50:51    阅读次数:152
编写高质量代码改善C#程序的157个建议——建议70:避免在调用栈较低的位置记录异常
建议70:避免在调用栈较低的位置记录异常并不是所有的异常都要被记录到日志,一类情况是异常发生的场景需要被记录,还有一类就是未被捕获的异常。未被捕获的异常通常被视为一个Bug,所有,对于它的记录,应该被视为系统的一个重要组成部分。最适合记录异常和报告的是应用程序的最上层,这通常是UI层。假设存在这样一...
分类:Windows程序   时间:2015-08-18 13:50:15    阅读次数:316
编写高质量代码改善C#程序的157个建议——建议66:正确捕获多线程中的异常
建议66:正确捕获多线程中的异常多线程的异常处理需要采用特殊的方式。一下这种方式会存在问题: try { Thread t = new Thread((ThreadStart)delegate {...
分类:编程语言   时间:2015-08-18 01:06:24    阅读次数:141
编写高质量代码改善C#程序的157个建议——建议63:避免“吃掉”异常
建议63:避免“吃掉”异常嵌套异常是很危险的行为,一不小心就就会将异常堆栈信息,也就是真正的Bug出处隐藏起来。这还不是最严重的,最严重的就是“吃掉”异常,即捕获,然后不向上层throw。避免“吃掉”异常,并不是说不应该“吃掉”异常,而是这里有个重要原则:该异常可被预见,并且通常情况它不能算是一个B...
分类:Windows程序   时间:2015-08-17 23:10:13    阅读次数:151
328条   上一页 1 ... 19 20 21 22 23 ... 33 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!