分享
 
 
 

敏捷开发的必要技巧:将注释转为代码

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要:

本文作者通过实例介绍了灵敏开发的必要技巧:将注释转为代码.

示例

这是一个会议治理系统. 在会议中,每个参会者都会戴一个牌子,这牌子上面有这个参会者的信息(比如姓名之类的).在这个系统中,Badge这个类用来存放这个参会者的信息.请看一下下面的代码跟注释:

//存放参会者身上戴的牌子所显示的信息.

public class Badge {

String pid; //参会者 ID

String engName; //英文全名

String chiName; //中文全名

String engOrgName; //所在部门英文名称

String chiOrgName; //所在部门中文名称

String engCountry; //部门所在国家的中文名称

String chiCountry; //部门所在国家的英文名称

//***********************

//构造函数.

//根据参会者的id,去数据库取出该参与者的信息.

//***********************

Badge(String pid) {

this.pid = pid;

//***********************

//取出参会者

//***********************

ParticipantsInDB partsInDB = ParticipantsInDB.getInstance();

Participant part = partsInDB.locateParticipant(pid);

if (part != null) { //取出参会者的英文全名

engName = part.getELastName() + ", " + part.getEFirstName(); //取出参会者的中文全名

chiName = part.getCLastName()+part.getCFirstName();

//***********************

//取出所在部门跟国家.

//***********************

OrganizationsInDB orgsInDB = OrganizationsInDB.getInstance(); //取出所在部门的id

. String oid = orgsInDB.getOrganization(pid);

if (oid != null) {

Organization org = orgsInDB.locateOrganization(oid);

engOrgName = org.getEName();

chiOrgName = org.getCName();

engCountry = org.getEAddress().getCountry();

chiCountry = org.getCAddress().getCountry();

}

}

}

... }

将注释转换为代码,让代码足够清楚到可以表示注释

我们先看一下第一个注释:

//存放参会者身上戴的牌子所显示的信息. public class Badge { ... }

我们干嘛需要这个注释呢?因为程序员认为"Badge"这个类名不足以让读代码的人清楚这个类的作用,所以就写了这个注释. 那假如我们直接将注释所表达的一些信息放在类名里面的话,就没有单独写注释的必要了.比如::

public class ParticipantInfoOnBadge { ... }

其实很多人肯定会问?难道写注释不是一个好的编程习惯吗?这问题很好,我也想知道.在解释之前,我们先把这个示例中所有的注释都转为代码先.

将注释转换为变量名

Consider: public class ParticipantInfoOnBadge {

String pid; //参会者 ID

String engName; //英文全名

String chiName; //中文全名

String engOrgName; //所在部门英文名称

String chiOrgName; //所在部门中文名称

String engCountry; //部门所在国家的中文名称

String chiCountry; //部门所在国家的英文名称

... }

这里,我们就像对属性的注释,转化为属性名, 比如:

public class ParticipantInfoOnBadge {

String participantId;

String participantEngFullName;

String participantChiFullName;

String engOrgName;

String chiOrgName;

String engOrgCountry;

String chiOrgCountry;

... }

对参数的注释,转化为参数名

看看:

public class ParticipantInfoOnBadge {

...

//***********************

//构造函数.

//根据参会者的id,从数据库取出该参与者的信息.

//***********************

ParticipantInfoOnBadge(String pid) {

this.pid = pid;

...

}

}

比如:

public class ParticipantInfoOnBadge {

...

//***********************

//构造函数.

//从数据库取出该参与者的信息.

//***********************

ParticipantInfoOnBadge(String participantId) {

this.participantId = participantId;

...

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有