技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

代码可读性的改良

首先, 有这样的代码,逻辑是没错的,但是长而且可读性不好:

message = subAction == "add" ?  String.format(format, contentMap.get("owner"), contentMap.get("ownerHomeName"))
         : String.format(format, contentMap.get("ownerHomeName"))

改良版1,代码没那么长了,但是可读性没什么改善:

message = String.format(format, contentMap.get("owner"), contentMap.get("ownerHomeName"))
message = subAction == "add" ? message : String.format(format, contentMap.get("ownerHomeName")) 

改良版2,多几行,看起来可读性就好多了

addMessage = String.format(addFormat, contentMap.get("owner"), contentMap.get("ownerHomeName"))
removeMessage = String.format(removeFormat, contentMap.get("ownerHomeName"))
message = subAction == "add" ? addMessage : removeMessage 

 

朋友给的python版本解决方案,可惜他没看参数个数:

foo = lambda x: String.format( format , contentMap.get( x) )
message = foo( 'owner' ) if subAction is 'add' else foo( 'ownerHomeName' )

 

posted on   codestyle  阅读(556)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示