代码整洁之道-类
在面向对象的编程中,类是其中的基本单位,就像面向过程中的函数一样。所以在说类时,可以借鉴一下前面的函数,不如只做一件事,也就是所说的单一职责。
函数应该短小,对于类来说,也是这样。函数的短小可以通过代码行数来判断,对于类来说,如何判断呢?可以通过判断其职责,也就是看它是否只做一件事情。同时做多件事情的类,命名也是一件痛苦的事情。比如一个类名叫 Manneger,很容易让人误解,它管理什么呢?
所以,简单来说,一个类应该只做好一件事,足矣。
当然,大概率写出的第一版不会遵循这个规则。所以对其拆分就不可避免了。
比如,在拆分一个方法时,新的方法使用了原来的4个变量,那么是不是就要将这4个变量作为参数传递进去呢?我不要。其实完全可以将这4个变量作为类的属性。但是这样的话问题来了,难以避免的会导致类中出现很多只在个别方法中用到的属性,很难受。等等,只在个别方法中用到,为什么不能把他单独拆解作为一个类呢?很好。
【推荐】国内首个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