代码精进之路~自明的代码

中间变量

Matcher matcher = headerPattern.matcher(line);
if (matcher.find()) {headers.put(matcher.group(1), matcher.group(2));
}

优化后

Matcher matcher = headerPattern.matcher(line);
if (matcher.find()) {String key = matcher.group(1);String value = matcher.group(2);headers.put(key, value);
}

设计模式语言

        下面是一个典型pipeline处理方式,责任链在处理该问题上是一个很好的选项,FilterChain 这个名字非常恰当地表达出了意图,Chain 表示用的是责任链模式,Filter 表示用来进行过滤。

FilterChain filterChain = FilterChainFactory.buildFilterChain(NoEmailAddressFilter.class,EmailUnsubscribeFilter.class,EmailThreeDayNotRepeatFilter.class);// 具体的Filter
public class NoEmailAddressFilter implements Filter {public void doFilter(Object context, FilterInvoker nextFilter) {Map<String, Object> contextMap = (Map<String, Object>) context;String email = ConvertUtils.convertParamType(contextMap.get("email"), String.class);if (StringUtils.isBlank(email)) {return;}nextFilter.invoke(context);}}

注释不要复述功能

public synchronized void setFormatter(Formatter newFormatter) {checkPermission();// Check for a null pointer.newFormatter.getClass();formatter = newFormatter;
}

注释要解释背后意图

try {// 这里等待2 秒.Thread.sleep(2000L);
} catch (Exception e) {LOGGER.error(e);
}

优化后

try {// 等待2 秒,为了等待关联系统处理结果Thread.sleep(2000L);
} catch (Exception e) {LOGGER.error(e);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV图像或视频显示在VC对话框中的方法

转自&#xff1a;我思故我在 在MFC界面上添加一个picture控件&#xff0c;假设其ID为IDC_STATIC_PIC&#xff0c;类型设置为"增强图元文件" 首先包含OPENCV里的头文件&#xff1a; #include <cv.h> #include <stdio.h> #include <highgui.h> 在相应…

一套价值十万的微信公众号采集解决方案

From&#xff1a;http://www.blog2019.net/post/138 原文地址 相关阅读&#xff1a; 一套价值十万的微信公众号采集解决方案(免费送) 数据采集采集架构中各模块详细分析 基于大数据平台的互联网数据采集平台基本架构 教你一种1分钟下载1万个网页的方法&#xff0c;你学吗&a…

2018 年全球人工智能与机器人峰会将在深圳举办

来源&#xff1a;雷锋网摘要&#xff1a;第三届 CCF-GAIR —— 2018 年全球人工智能与机器人峰会&#xff0c;深圳&#xff0c;2018 年 6 月 29 日至 7 月 1 日。2018 年&#xff0c;AI 学术界与工业界的核心议题已演变为“基础理论技术创新”和“行业解决方案落地”&#xff0…

ASP.NET使用数据库存储、读取并修改图片

在SQL SERVER中建立这样结构的一个表&#xff1a;列名类型目的IDInteger主键IDIMGTITLEVarchar(50)图片的标题IMGTYPEVarchar(50)图片类型. ASP.NET要以辨认的类型IMGDATAImage用于存储二进制数据 using System;using System.Collections;using System.Configuration;using…

Grafana 使用教程 --- 开源的度量分析与可视化套件

原文链接&#xff1a;https://blog.csdn.net/bbwangj/article/details/81109615 Linux下使用GrafanaInfluxDBMongoDB实现爬虫可视化动态监控【附代码及详细教程】 https://www.jianshu.com/p/9de223e05a5e Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间…

美国重夺超算“头把交椅”,专家建议中国加快E级超算研制

“顶点”超算 橡树岭国家实验室网站图来源&#xff1a;科技日报摘要&#xff1a;美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计算机。美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计…

安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )

From&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p36 如果仅仅用 Smali 来分析代码&#xff0c;效果其实不如用 dex2jar 和 jd-gui 更直观&#xff0c;毕竟看反编译的 java 代码要更容易一些。 但 Smali 强大之处就是可以随心所欲的进行插桩操作。何为插桩&…

调试opengl程序出错

今天要做opengl实验 打开一个示例程序&#xff0c;结果编译不过。错误大概如下&#xff1a; d:\vc98\include\gl\gl.h(1152) : error C2054: expected ( to follow WINGDIAPI d:\vc98\include\gl\gl.h(1152) : error C2085: APIENTRY : not in formal parameter list d:\vc98\i…

代码精进之路~函数

职责单一 一个方法只做一件事情。 eg.给员工发工资 public void pay(List<Employee> employees) {for (Employee e : employees) {if (e.isPayDay()) {Money pay e.calculateDay();e.deliverDay(pay);}}} 实际上做了3件事&#xff1a;遍历所有雇员、检查是否该发工资…

智能哲学:“学习机器”与“机器学习” ——解读图灵思想中的人工智能

周剑铭&#xff0c;自由学者。研究方向为中西文化比较研究&#xff0c;智能哲学&#xff0c;算法、不确定性和不确定性问题(NP)理论。柳渝&#xff0c;法国儒勒凡尔纳公立综合大学计算机&#xff08;Dpartement Informatique, UFR des Sciences, Universit de Picardie Jules V…

【分享】关于对象关系映射的理解

对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM&#xff09;是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说&#xff0c;ORM是通过使用描述对象和数据库之间映射的元数据&#xff0c;将java程序中的对象自动持久化到关系数…

安卓逆向_10 --- Log 日志的插入和分析、toast方法、栈跟踪

From&#xff1a;https://blog.csdn.net/weixin_42680210/article/details/90384358 在安卓逆向中&#xff0c;常常用到 栈跟踪、toast方法、Log日志的插入 等&#xff0c;以便于我们更好的分析代码&#xff0c;下面就演示下这三个方法的使用及简单的分析。。。 1. 插入 Log 信…

事实--思维导图笔记

事实--思维导图笔记 https://www.processon.com/view/5d330846e4b058ef96ae5529?fromnew1#map 完整版

未来20年内,无人驾驶将颠覆这33大行业

来源&#xff1a;智车科技在未来的20年里&#xff0c;无人驾驶汽车将在美国广泛使用&#xff0c;这几乎是必然的。包括谷歌、苹果和梅赛德斯-奔驰在内的二十多家大型企业都在努力打造自己的无人驾驶汽车品牌。特斯拉的Model S已经推出了一种可以在高速公路上形式的无人驾驶车型…

C# GridView单元格合并.

使用int[] 列索引集合将第1列的单元格格一样的数据合并..GroupRows(GridView1,newint[]{0}); 全部代码///<summary>///GridView合并行 zgkesina.com qq:116149///</summary>///<param name"p_GridView">Grid控件</param>///<param name&q…

安卓逆向_11 --- methodprofiling(方法分析)【在 smali 代码中打印信息 --- 协议分析常用】

From【修改 smali 代码打印信息】&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p38 【Android】开发优化之 --- 调优工具&#xff1a;TrackView、Method Profiling&#xff1a;https://blog.csdn.net/fcly2013/article/details/38080333 TrackView、Method Prof…

Getting Started with Google Guava--思维导图笔记

Getting Started with Google Guava--思维导图笔记 分享地址&#xff1a;https://www.processon.com/view/link/5d413527e4b020861117eb7b

德国科学院院士:传统企业寻求变革,向智能制造靠近

来源&#xff1a;亿欧摘要&#xff1a;中新人工智能高峰论坛上&#xff0c;德国科学院院士汉斯乌思克尔特详细介绍了AI在工业上的概念和具体运用案例。他把“AI工业”原理分为三层&#xff0c;由内到外分别是&#xff1a;生产层、运行层和数据结合层。经由这三层&#xff0c;智…

kernel部分数据结构列表三(inode)

kernel部分数据结构列表三(inode) /**索引节点对象由inode结构体表示&#xff0c;定义文件在linux/fs.h中*/struct inode { struct hlist_node i_hash; /* 哈希表 */ struct list_head i_list; /* 索引节点链表 */ …

安卓逆向_12 --- jeb工具的使用 ( 动态调试 smali 代码 【 普通调试 和 debug调试 】)

From&#xff1a;https://www.52pojie.cn/forum.php?modviewthread&tid742250 jeb 动态调试 smali 代码&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p39 使用 JEB 调试 Android App&#xff1a;https://www.jianshu.com/p/a1a7cf687cd2 了解 JEB 和 IDA 使…