文章分类 -  代码

About Code
可重入与线程安全
摘要:在单线程的进程中,有且仅有一个控制流,函数代码即使是不可重入的,或者线程不安全的,也没有问题。但在多线程的程序中,有可能同一段代码同事被多个控制流并发的访问。这个时候为了保证资源的完整性,要为多线程程序编写的代码必须是可重入的和线程安全的。可重入和线程安全是两个相互独立的概念。可重入一个可重入的函数不能为后续的调用保持静态(或全局)数据,也不能返回指向静态(或全局)数据的指针。函数中用到的所有的数据,都应该由该函数的调用者提供。一个可重入的函数不能调用不可重入的函数。线程安全一个线程安全的函数通过“锁”来bo保护共享资源不被并发地访问。线程安全仅关心函数的实现,而不影响它的外部接口。任何一个不 阅读全文

posted @ 2011-05-24 15:01 ActiveChange 阅读(1640) 评论(0) 推荐(0)

需要重构的代码(读重构)
摘要:1.重复代码一个模块中存在一个以上的地方有相同的程序结构,则需要好好思考下是否需要处理。2.过长的函数函数的长短不是看其行数的长短,而是看其名称是否能够解释其用途。在于“做什么”和“如何做”之间的语义距离。3.过长的参数列表参数过多,导致使用者难以理解。4.类定义的过大一个类中做了太多的事情,类变得庞大,实例变量太多。5.封装变化一个类中有些东西受外界的影响,容易产生变化。尽量把这些变化的东西放在一个新的类中。使之根据外界的变化做出相应的反应。6.少用switch使用面向对象编程,要少用switch和case语句,尽量用多态来替换它。7.冗余类删除不再使用的,没有任何价值的类。(包括检查是否有 阅读全文

posted @ 2011-05-24 13:26 ActiveChange 阅读(127) 评论(0) 推荐(0)

编写整洁的代码(一)
摘要:能编写整洁的代码是衡量一个程序员能力的标准之一。所谓整洁的代码,我认为至少应该是可读性高,没有多余的代码,逻辑清晰,即使刚接触代码的人来读,也能很容易理解的代码。为了给自己总结总结,决定写一写这方面的体会。在一般的项目中,往往存在很多的分支和条件判断语句。往往一开始时,代码的逻辑比较清晰简单,但随着需求的增加和变更,模块中的分支就会多起来,而且开发人员往往由于发布时间所限,往往都是实现了机能就算完了。但这样的代码往往在今后的维护和变更时需要开发人员,维护人员付出大量的时间和精力去理解它。所以,除了在开发时,注意及时重构外,我们要思考解决这类问题的方法。在之前做过一些项目中,特别是嵌入式的项目, 阅读全文

posted @ 2011-01-17 00:52 ActiveChange 阅读(234) 评论(0) 推荐(0)

导航