写代码方面的一些心得

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值