
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
无论是变量还是常量在软件编程开发项目中都是会经常用到的一个编程开发元素,而本文我们就通过案例分析来简单了解一下,软件开发常量应用分析。
1.巨幅常量类
把程序中所有用到的常量,都集中放到一个Constants类中。这样做会有一些缺点,
为了增加常量会导致这个类的修改会很频繁
依赖这个常量类的代码会很多
为了使用某一个常量,会导致引入很多无关的常量
2.重复的常量定义
作为职场新人的时候,我常干的一件事情就是重复定义常量,因为我不知道别人是否定义过,在哪里定义过,与其要翻遍整个代码库去找这个常量,自己定义一个显得方便的多。
直到有一天我需要去修改一个常量的定义,前面欠下的债就需要还了。重复代码大的问题就是,当你需要去修改或者维护那段重复的代码的时候,你需要去修改每一处,如果有遗漏,那就是bug了。重复常量也是如此。
管理思路
1.定义多个功能单一的常量类
一个思路是按功能维度,去定义常量,一个常量类只跟某一功能相关。
如MySQLConstants、RedisConstants。
但这个有个很虚的概念,就是功能,一个功能可大可小,范畴可以是某一个类,也可以是一整个模块,这里没有定论,依赖的就是程序员聪明的头脑和丰富的经验了。
2.不单独定义常量类
另外一种思路就是不单独设计常量类,常量在哪个类里面使用,就把常量定义到这个类中。
比如在RedisClient和RedisConfig中都用到了之前RedisConstants中的常量,可以将其分别定义在RedisClient和RedisConfig中。
但这样做有个明显的问题就是,如果多个类用到了同一个常量,如果各自定义就造成了重复,如果定义一份声明为public,就会造成两个类之间的依赖。这样来看,在没有复用诉求的情况下,就地定义才比较可取。
3.按层次复用
上述两种方式都没有完整的解决我们的疑惑,考虑将上述两种方式结合起来,可以得到一种按层次定义复用的方式。
跨应用复用常量:放置在二方库中,通常是client.jar中的constant目录下。
应用内复用常量:放置在一方库中,通常是common中的constant目录下。
模块内部复用常量:即在当前子工程的constant目录下。
包内复用常量:即在当前包下单独的constant目录下。
类内复用常量:直接在类内部privatestaticfinal定义。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。