一个简单的代码风格优化的小案例

简介: 最近 review 了一些代码,其中有一个函数的写法看着别扭,而且对应同学不太清楚还可以怎么优化。由于案例比较典型,值得分享一下。本文给出对应的伪代码和自己的修改建议,并推荐可以提交代码质量的图书,以便能够帮助大家养成良好的编码风格。

一、背景

最近 review 了一些代码,其中有一个函数的写法看着别扭,而且对应同学不太清楚还可以怎么优化。由于案例比较典型,值得分享一下。


本文给出对应的伪代码和自己的修改建议,并推荐可以提交代码质量的图书,以便能够帮助大家养成良好的编码风格。


二、伪代码


publicvoiddoSomething(){
// 构造参数(后无空格)// 调用二方服务(后无空格)if(result.success&&result.getXXXMap() !=null&&result.getXXXMap().get("aaa") !=null){
// 执行一大段逻辑}
}


存在的问题


- 代码行数有点多

- 构造参数、调用二方服务、结构判断并执行大段逻辑之前没有任何空行,导致看着不够清晰

- if 判断部分搞得有些复杂,需要多看几眼才能看懂



三、修改

修改意见

- 每个步骤中间加个空格,提升段落感

- 将成功后的处理提取成一个独立的函数,降低函数长度

- 将判断所需的map 提取成局部变量,让判断更加简洁

- 将防御性判断写在代码执行之前,逻辑更清晰


/

publicvoiddoSomething(xxx){
// 构造参数(后空格一行)// 调用二方服务(后空格一行)if(result.success ){
other();
    }
}
// other 只是一个demo, 实操时命名符合意图privatevoidother(yyy){
Map<K,V>map=result.getXXXMap() ;
if( null==map&&null==map.get("aaa")){
return;
}
// 执行业务逻辑}


当然,如果有必要 前面的 result.success 也可以反向判断直接  return 。

这里的 “aaa” 只是一个举例,实际并不是简单的字符串,所以暂时不处理。

如果是普通字符串的话,建议定义为常量。


这样修改完毕可读性就提高了很多,代码非常清晰。


四、总结

这个案例非常简单,希望能够帮助大家养成良好的代码风格,提高代码可读性,让读者看起来更清爽。


另外《代码精进之路 从码农到工匠》中有提到【写代码是两次创作】

优雅的代码很少是一次形成的,大部分情况下要经过两次创造:第一遍实现功能,第二遍重构优化。


因此,实现功能以后,在代码审查阶段,如果有时间建议尽量对代码进行优化。



另外推荐阅读《阿里巴巴Java 开发手册》、《重构 -改善既有代码的逻辑》、《代码整洁之道》,代码质量应该可以上升到一个新的台阶。



相关文章
|
Web App开发 存储 关系型数据库
|
29天前
|
人工智能 安全 测试技术
AI 智能体的测试方法
AI智能体测试需融合评估与质量保证,涵盖核心能力(规划、工具调用、记忆)、特有机制(多智能体协同、人机协同)、自动化框架(Ragas、LangSmith)及安全鲁棒性四大维度,突破传统软件测试范式。(239字)
|
1月前
|
XML 存储 人工智能
LaTeX转Word可编辑公式:从最小样例理解OMML
AI生成的公式粘贴到Word常变代码或图片,根源在于LaTeX源码未正确转为Word原生OMML格式。成功导出需三重验证:源码被识别、文档含可编辑公式对象、Word中可双击修改。
|
1月前
|
人工智能 算法 Java
耗时 6 年,我终于拿到 B 站 100 万粉丝奖牌!公布明年的秘密计划(
鱼皮的情感史?公司情况?未来计划?怎么学习和利用 AI?怎么学习 AI 编程?
298 0
|
5月前
|
供应链 安全 网络协议
从Silver Fox新变种看2026年网络钓鱼的攻防进化
2026年初,德企Hexastrike披露“银狐”团伙利用AtlasCross RAT木马,通过伪造Zoom、Signal等知名软件域名实施精准钓鱼。攻击融合拼错域名、盗用代码签名证书、无文件内存注入及针对性反杀软技术,严重威胁亚洲商务与财务人员安全。
526 3
|
6月前
|
数据采集 人工智能 自然语言处理
2026年GEO优化是过去的SEO优化吗?有什么不一样呢?
2026年GEO(生成式引擎优化)非SEO替代,而是AI时代演进:面向ChatGPT、豆包等大模型,以结构化知识、语义适配与信源卡位,实现“被AI引用”而非“被用户点击”,重在抢占零点击决策入口。(239字)
|
机器学习/深度学习 人工智能 程序员
《全球机器学习技术大会:阿里云张玉明解密通义灵码AI程序员》
4月18日至19日,2025全球机器学习技术大会(ML-Summit)在上海成功举办。大会聚焦人工智能与机器学习前沿技术,吸引了众多行业精英参与。阿里巴巴高级技术专家张玉明以“通义灵码 AI 程序员解密”为主题发表演讲,分享了AI辅助编程工具如何重塑软件开发范式。通义灵码通过大模型和Agent技术,实现从辅助编码到对话式编程的跨越,未来将进入AI自主编程阶段。张玉明还介绍了通义灵码的核心技术架构及典型应用场景,并展望了智能编程的未来发展。
《全球机器学习技术大会:阿里云张玉明解密通义灵码AI程序员》
|
JSON 监控 数据可视化
揭秘淘宝 API,让天猫店铺流量来源一目了然
在竞争激烈的电商环境中,天猫商家最关心的问题之一是流量来源。本文介绍如何利用淘宝开放平台的API接口,帮助商家清晰掌握店铺流量渠道,包括直接访问、搜索、广告及社交媒体流量。通过API获取数据后,可进一步分析访问量、来源占比、跳出率等关键指标,优化营销策略,提升转化率。结合Python编程与图表工具,实现数据可视化分析,助力商家做出数据驱动决策,抢占市场先机。
1156 1
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】俯视角
本文介绍了Unity中常用的俯视角镜头实现方法,涵盖模型添加、角色Tag设置、摄像机脚本编写及测试运行,帮助开发者快速掌握俯视角在策略与模拟类游戏中的应用技巧。
767 0
|
存储 弹性计算 固态存储
阿里云服务器配置费用整理,支持一万人CPU内存、公网带宽和存储IO性能全解析
要支撑1万人在线流量,需选择阿里云企业级ECS服务器,如通用型g系列、高主频型hf系列或通用算力型u1实例,配置如16核64G及以上,搭配高带宽与SSD/ESSD云盘,费用约数千元每月。
1850 0

热门文章

最新文章