首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

写代码方面的一些经验

2012-09-03 
写代码方面的一些心得1、关于如何提高写代码的效率?1)关于使用伪代码写代码方面,发现自己以前写的东西现在

写代码方面的一些心得
1、关于如何提高写代码的效率?
          1)关于使用伪代码
          写代码方面,发现自己以前写的东西现在有点忘记了,有时需要想好久才能想的起来,而且开始写的代码中间要改动n次,所以会很乱,如何改进?一个初始的点子就是先写伪代码,等到伪代码写通以后再写代码,这样的好处是可以减少改动的机会!同时由于伪代码较简洁,这样可以使得代码的结构变清晰
          须知,磨刀不误砍柴工!
          2)关于代码的复用
          如果代码能够很大程度上实现复用,则无论是在脑力还是体力上都是很大的节约。如何实现?一方面,编程前要从系统的层次上规划好,即想好每部分要解决什么问题和问题大致用什么解决方法;然后呢?就是编写伪代码去实现每个部分,具体的算法啦,在设计算法时,最好引入封装的概念,即若一段代码可以解决某个问题,则把它封装起来,留好接口,用到时只要调用这个方法就可以了;还有解决问题的模式啦,需要定义哪些变量及变量采用什么类型、变量的命名规则,要用到哪些类等等,都在这时解决掉;
          最后就是实实在在的编写代码,如果前两部分解决的好的话,这一步就真是体力活了。
          3)关于代码的可读性
          首先,代码必须简洁,减少重复的代码,简洁了可读性自然也就高了;然后,就是变量和方法的命名一定要统一,不要怕长;再说的就是,合理使用数组,滥用数组会使得可读性降低;最后,每个变量和方法前都要添加注释。

2、Java中的一些具体问题

          1)关于static量和其它变量
          static量属于类,不属于对象。隐含的意思就是说不管你新建多少个对象,static量都只有一个;而其它变量则是属于对象!!!如 类A的static量num=0,它有三个对象a,b,c。若a中调用num并把它的值改为1,则b,c中的num值也会跟着改变;如果再新建一个类A的对象d,其num值也是1。   这是因为static量至始至终只占用一个内存单元,而其它变量则会随着新建对象的同时分配新的内存单元。

          2)关于对象实体和对象引用
          考虑这样一段代码,其中类car,对象引用a,b:
          car a=new car();
          car b=new car();
          这段代码在内存中开辟了两个内存单元,并且分别给他们去个名字(对象引用名)来指向它们。正如一个人可以有很多称呼一样,一个内存单元同样可以有很多引用名。如下面一段代码:
          car c=a;
          则a指向的内存单元又多了一个称呼c。那么下面一段代码是什么含义呢?
          b=a;
          它是把a指向的内存单元的值赋给b,从而使得b指向的内存单元的值等于a指向的内存单元的值了么?No!这段代码的意思是说,b不再指向原来的内存单元,而变为指向现在a指向的内存单元,即现在a指向的内存单元有3个名字a,b,c。而b原来指向的内存单元已经不再叫b了,如果其没有其它的引用指向它,则它没有了名字,再也无法被使用,变为垃圾!
          那么如何把引用a指向的内存单元的值赋给b指向的内存单元呢?需要利用其内部的成员变量实现。如a有一个成员变量int i=0;b有一个成员变量int j。则通过j=i;可以把b指向的内存单元中j的值变为0.

          还有一个很需要注意的问题,即使引用c指向a时,其成员变量i=0. 若现在出现如下代码:
          i=1;
          则c调用i时c.i的值也变为1.而b中的j值仍为0.相信只要很好的理解了前面关于内存单元的分配问题,这一点也就很容易理解了。

                                                                                                                                                                                                           Mayii

热点排行