工作教训
可笑场景1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | if ( true ==choose()){ 业务逻辑 1 }eles{ 业务逻辑 2 } public boolean choose(){ ... 写了一些逻辑判断 ... return true ; } 改进 if (choose()) 业务逻辑 1 业务逻辑 2 public boolean choose(){ ... 写了一些逻辑判断 ... return true ; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.zyqtest; public class Test { public static void main(String[] args) { Test test = new Test(); System.out.println(test.quicktest()); } public boolean quicktest(){ try { int i= 1 / 0 ; } catch (Exception e){ System.out.println( "===========" +e); return false ; } finally { System.out.println( "+++++++++++" ); return true ; } } } |
运行结果;
1 2 3 | ===========java.lang.ArithmeticException: / by zero +++++++++++ true |
改进:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.zyqtest; public class Test { public static void main(String[] args) { Test test = new Test(); System.out.println(test.quicktest()); } public boolean quicktest(){ try { int i= 1 / 0 ; return true ; } catch (Exception e){ System.out.println( "===========" +e); return false ; } finally { System.out.println( "+++++++++++" ); } } } |
运行结果:
1 2 3 | ===========java.lang.ArithmeticException: / by zero +++++++++++ false |
workdate in(#{workdate},#{workdate}-1,#{workdate}-2)
改进:
workdate between #{workdate}-2 and #{workdate}
我使用的是oracle数据库,注意使用plsql查看这两条SQL语句的执行计划,会发现,在筛选条件是连续值的时候,使用between and 语法,执行效率更加高效。
还有就是我们在自己的类中创建的方法,只有自己类内部使用,最好将方法定义成private的,不要定义成public的。
下面是工作中写的不太美观的代码,在这里进行一下改进。
public void makefile(File file){
String xmlfile="ys_"+file.getname.split("-")[5]+".xml";
假设你下面也有用到这个传入的File文件进行一系列的操作。
。。。。。
}
最好不要这样写,因为这样写出的代码真的很不美观
public void makefile(File file,String dateStr){
String xmlfile="ys_"+dataStr+".xml";
假设你下面也有用到这个传入的File文件进行一系列的操作。
。。。。。
}
也就是说,在一开就将日期处理好,传进去,别等到以后再传。如果下面的有多个方法都需要File这个类进行入参,并且需要由文件名切割出来的日期,最好是将在一开始就处理好,将处理好的日期也当做入参,好看。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2020-08-21 文件名、目录名或卷标语法不正确 Java