代码可读性优化

时间:2022-06-15 15:24:36
最近整理项目时发现有个方法为判断两个记录的md5是否相等,源代码如下,因此方法在外层已经确保记录不为null,因此方法内不再对record实体类进行空判断操作
    private boolean isMd5Equal(DownloadRecord oldRecord, DownloadRecord newRecord) {
if (newRecord.getMd5() == null && oldRecord.getMd5() == null) {
return true;
}
if (newRecord.getMd5() != null && newRecord.getMd5().equals(oldRecord.getMd5())) {
return true;
}
return false;
}
先判断是否为空,然后再判断是否相等,然后感觉代码可读性不太高,后优化成下面这段(借鉴了HashMap中判断key值是否相等的思想)感觉很好的说明了代码是否可读的例子,遂记录
    private boolean isMd5Equal(DownloadRecord oldRecord, DownloadRecord newRecord) {        String oldRecordMd5 = oldRecord.getMd5();        String newRecordMd5 = newRecord.getMd5();        return newRecordMd5 == null ? oldRecordMd5 == null : newRecordMd5.equals(oldRecordMd5);    }