山西网站搜索排名优化公司,导航主题wordpress,建立网站的原因,广州seo优化推广23年终于正式入职#xff0c;参与了正式上线的电商平台、crm平台等项目的研发#xff0c;公司规模较小#xff0c;气氛融洽#xff0c;没有任何勾心斗角、末位淘汰#xff0c;几乎没什么压力。虽然是我的第一家公司#xff0c;但实际是个适合养老的公司#xff08;笑 总…23年终于正式入职参与了正式上线的电商平台、crm平台等项目的研发公司规模较小气氛融洽没有任何勾心斗角、末位淘汰几乎没什么压力。虽然是我的第一家公司但实际是个适合养老的公司笑 总结下今年工作学到的实践经验
交流方面
多交流、多沟通老员工知道哪个地方有现成的接口。重点还有多与需求方沟通不要觉得自己刚来不好意思交流。 刚来在业务流程上的问题尤其要大胆说说错了也没问题新人本来就不熟悉业务说出一个错误选项让师兄或业务部排除比自己去看不熟悉的代码要省时间。 一定要会砍需求我tm直接砍砍砍其实和运营部门和产品经理关系还挺好的。网上互怼的段子也有不少。如果不砍需求做了无用功还是自己吃亏绩效也受影响。
工作流程
公司使用阿里云效进行需求管理类似gitlab 用github比喻的话“需求/任务”对应issue可以在对应的需求/issue上建立有对应编号的分支 提交到自己分支然后在jenkins测试环境选中自己的分支构建就可以让需求的提出者/测试人员也线上测试效果了
测试通过的话就可以提交到master分支。同github相同新建请求合并pr时可以选择评审人由评审人负责code review
经验方面
idea 提取函数;比起复制粘贴老代码还是提取为函数方便以后统一修改dry原则don’t repeat yourself避免同一功能重复使用如果只记得修改一个地方那其他几处就成了bug 代码风格给我做code review的这位指出了使用stream 和 lambda表达式代替for循环赋值hashmap的问题。过去我比较喜欢朴素的写法今后要保持风格一致。
性能
在遍历中最好不要有跨服务、跨接口、数据库的操作。我曾写过一个在遍历中调用dubbo远程接口查询订单的程序耗时非常长可以利用缓存空间换时间的思路把数据取过来缓存在hashMap中。 之前开发的时候我只知道在For循环里查询数据库可能会对性能造成影响现在知道了参与微服务开发后在循环里遍历远程接口同样会对性能造成压力而且接口都是设置了超时时限的可能导致调用失败。
数据库
谨慎添加新字段。我刚入职添加了好多新字段因为当时临近节假日技术经理又放婚嫁去了时间紧任务重又是个性格内向的新人进来没有好好了解需求和曾经的表结构。导致在数据库里加了不少多余字段另一位师兄也很忙来不及细看。一定要认真和产品经理或类似提需求的职位本文统称产品经理好好交流那些内容需要哪些不需要另外也要早点儿熟悉公司代码和表结构有些冗余字段其实没必要加可以用多表查询同其他表的字段保持一致。
测试
公司唯一的测试妹子离职了现在是自测产品经理测很多时候我这个不熟悉业务的新人测不出问题\bad 在实践中终于学会了打断点并且再断点中改变数据进行测试。
postman测试
请求头中content type以填写的请求体为准不能更改要去选请求体的格式
测试的直接把验证码相关的校验给我注释起来口牙
本地与开发环境配置
虽然.gitignore文件可以使git忽略一些文件但在环境方面却有些难用比如刚修改.gitignore后git默认还会追踪之前的那些文件开发者本地开发时需要修改本地/测试/开发环境配置文件中的信息比如有的开发者不会把开发环境放在本机127.0.0.1或是常用端口需要提交时忽略这些更改但此时的.gitignore确是公有库中大家都在使用的不论是新增忽略文件、暂时忽略某些配置文件都挺难办 师兄的解决办法是每次提交时在idea手动忽略 我的办法是在idea的启动参数中指定环境那里优先级高覆盖掉配置文件的内容这样每次启动时就会用本地环境而且不用动任何文件
规范与习惯
git提交消息以需求编号开头 跟随前人的习惯写项目新老代码交替代码风格和技术栈多变。有的导出Excel功能用poi有的用easyExcel;有的判空用null三元表达式有的用Objects.isNull()还有的写if/else。我们代码好用的三元表达式那用同一个文件里统一用不要一会if/else一会儿三元表达式。
不要用魔数不要写这么复杂有Objects.nonNull这个方法 public boolean equals(Object obj) {if (obj instanceof Integer) {return value ((Integer)obj).intValue();}return false;}instanceof是不会空指针的
interface中定义常量
contains用List不如Set
分布式事务
找一个中间的一致性管理成本和复杂性太高金融之类的强制要求可能需要
A调用BB也有事务A还没提交B只能读老数据 要么A搞个接口让B读也挺麻烦 要是改隔离级别可能产生脏数据。 可以搞个job晚上自动核对数据甚至发个报警让人工处理。每天几千笔极小交易的公司也是这么处理。 多表的update保持一致要加事务但是分布式事务成本很高所以用消息队列主要还是为了异步吧事务该被拆开还是拆开了。
测试环境和生产环境的不同
除了分支不同、jenkins构建的分支不同之外有些参数也不同。 mq延时消息延时级别对应的延时时长测试环境数据库里的时间比较短方便测试。正式环境比较长。
身体
身体是编程的本钱。曾有一次感冒发烧39°C代码是点进一层调用忘一层第二天只能请假。一定要保证身体。
24年规划
坚持写博客。今年没有打算争抢博客之星倒是白白没落了几篇好文章啊加入某个权威性的计算机组织。(大不了趁三月打折买个CCF会员doge)尝试发表论文、同高校教师合作。虽然两年考研失败、一年忙于工作几乎断了考研路但还是有一小丢丢的科研♥呢。只能说体验体验吧