包名不规范 亲人两行泪

2019-05-19 16:08:15 +08:00
 Leiothrix

背景

由于某种原因,也许是代码 Review 不善,也许是沟通太少,也许是开发人员代码规范意识不够,一个由很多人员协同开发的 Java 大项目下的子项目包名命名方式出现了好几种流派。假设 GroupID 为com.java,ArtifactID 为xxx,子项目里包命名至少出现了以下三种不同流派:com.Java.xxxcom.java.xxxcom.llx.xxx。Java 是不建议包名出现大写字母的,但偏偏这个大项目建立伊始的时候,负责人大笔一挥,GroupID 写成了com.Java这副鬼样子。槽点太多,竟不知从何说起。

问题

导致的问题:一些工具类无法愉快的进行共享了,com.Javacom.java是两个完全不同的包,我主要在 Windows 下进行开发,但是 Windows 的文件系统不区分文件夹和文件的大小写,例如Java文件夹和java文件夹是不能共存的,它会在你创建的时候询问是否将这两个文件夹合并。问题来了,跨平台系统的文件系统该如何抉择呢?典型的例子就是 Git 还有 Java 的包管理,Linux 是严格区分文件夹大小写的。配合 Spring Boot 令人窒息的组件扫描,每次调用其它模块的工具类,为注入 Bean 该选择哪个包的事情都得伤半天脑筋,感觉自己陷入了一个漩涡,心累啊。

3090 次点击
所在节点    程序员
22 条回复
didikee
2019-05-20 09:09:41 +08:00
@wangyongbo 😂这个前缀开头的是安卓系统内部应用
unco020511
2019-05-20 18:07:30 +08:00
最怕这种,每次导包时候我还得想半天

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX