程序员升级进阶之路
- 熟悉业务、项目代码、工作流程,积极吸取技术资料
- 接需求,画流程图,(伪代码),详细设计
- 明确职业发展方向【很重要】
- 求精:写代码前的技术方案设计
- 写代码并不难,关键是要明确为什么要写代码、怎么写代码、写什么代码。
如果直接上手写,可能会出现细节问题,如数据没有访问权限获取不到、和其他开发的接口字段没对齐 - 根据需求来给出一个清晰明确的技术方案,一方面是证明需求的可行性,另一方面是对自己之后的代码实现有一个大致思路。很多的问题其实是可以在设计阶段去发现和规避的,而不是等你写代码的时候,才发现之前的设计有问题、甚至是需求本身就不合理!到时候耽误了项目上线,背锅的就是程序员自己!
- 意识到技术方案的重要性,在理解需求后,先写一份详尽的技术方案,包括需求的合理性分析、选用什么技术来实现指定的功能、怎么设计库表结构、怎么设计类之间的关系(用哪种设计模式)、怎么设计接口、计划工期是多久、有没有什么风险点等等。
- 求精:代码规范
写代码的过程中,要遵循一定的规范,不断地将重复的代码进行抽象、封装和复用,可以利用一些设计模式,并且要多多编写注释,提高代码的可读性和可维护性。
- 抽象封装复用
final String IP = "10.1.1.1";
String requestUrl1 = IP + "/getUser";
String requestUrl2 = IP + "/getSku";
String requestUrl3 = IP + "/getOrder";
所有可能改动的信息都放入配置文件中统一管理。
什么是yaml .yml文件?
#比如常见的.yml文件 注意key:空格+value
server.ip: 10.1.1.0
server.port: 8080
db.username: yupi
db.password: yupi
- 动态配置
还有一个问题,就是改动配置后,项目可能需要重新启动才能让新配置生效,还不够灵活。
为此,我们可以利用分布式配置中心实现动态配置,将所有的配置存放在数据库或分布式缓存、Etcd 中,通过在业务代码中引入 SDK 来监听配置变量。当配置发生修改时,变量的值会同步进行修改,而无需重启项目。
现在比较主流的配置中心有携程的 Apollo、阿里 Nacos 和 Spring Cloud Config 等,很多配置中心提供了可视化的界面,可以方便地进行配置管理、修改发布和版本控制。 - 设计模式
设计模式全解
- 求精:检查代码、测试
- 利用一些代码格式化和代码检查工具来提前发现一些规范问题以及 bug,还要在本地编写单元测试来最细粒度地保证代码的可运行性和正确性。
Java 的单元测试类库一般用 JUnit 就行了,本地自己测试请求接口的话可以直接用 IDEA 自带的测试插件,也可以选用 Swagger 或者 YAPI、Postman 等接口管理工具,甚至还可以直接使用命令行 curl 等。 - 利用自动化工具
- 产出:面向简历工作