代码整洁之道-类

在面向对象的编程中,类是其中的基本单位,就像面向过程中的函数一样。所以在说类时,可以借鉴一下前面的函数,不如只做一件事,也就是所说的单一职责。

函数应该短小,对于类来说,也是这样。函数的短小可以通过代码行数来判断,对于类来说,如何判断呢?可以通过判断其职责,也就是看它是否只做一件事情。同时做多件事情的类,命名也是一件痛苦的事情。比如一个类名叫 Manneger,很容易让人误解,它管理什么呢?

所以,简单来说,一个类应该只做好一件事,足矣。

当然,大概率写出的第一版不会遵循这个规则。所以对其拆分就不可避免了。

比如,在拆分一个方法时,新的方法使用了原来的4个变量,那么是不是就要将这4个变量作为参数传递进去呢?我不要。其实完全可以将这4个变量作为类的属性。但是这样的话问题来了,难以避免的会导致类中出现很多只在个别方法中用到的属性,很难受。等等,只在个别方法中用到,为什么不能把他单独拆解作为一个类呢?很好。


首先,我觉得这样做很好,感觉很好,但是说不上来的那种好。虽然感觉这样写出来的会很清晰,但还从来没有这样写过,之后自己试一试,看看效果是否真如作者所说一样。各位看官也尽可一试。

你可能感兴趣的:(代码整洁之道)