aki*_*adu 14 naming class naming-conventions
我经常很难决定如何命名一个班级.不是因为班级的目的不明确,而是因为名字像xxx***控制器***,xxx***经理***,xxx***信息***,xxx***助手***,xxx***Util***等我到处都看到了.
如果我有一个通过HTTP上传一些内容的类,我倾向于将它命名为HttpUploader或者其他内容.我见过很多实例,其中一个类似的类被命名为HttpUploadManager,HttpTransmissionController,HttpUploadHelper等等.
关于何时使用Controller,Manager,Info等,我有点困惑. 是否有任何文章或书籍可以帮助我成为更好的课程名称?
PS:此外,与HttpTransmissionController或HttpDispatchManager相比,像HttpSender这样的名字听起来相当贫血:P
Gre*_*ech 12
命名很难,所以不要担心你会挣扎,因为我们都这样做.相信我,它永远不会变得更容易!
个人对于整个Controller/Manager/Helper/Util/Whatever后缀,我倾向于使用规则,如果它是一个约定(例如,对于ASP.NET MVC来说,控制器类名称以"Controller"结尾),那么使用后缀,否则试着像地狱一样避免它.我宁愿有一个叫做HttpUploader比的课HttpUploadManager.
关于命名最重要的是,该类应该按照它所说的去做.如果它是使用HTTP上传内容的类,HttpUploader则完全描述它.使用花哨的名字HttpUploadManager并不能告诉我它的作用.它上传了这个东西吗?它管理多件事的上传吗?我喜欢尽可能保持简单,同时描述类/方法/目的.
我发现一个很好的指导方针是,如果你真的在努力命名,就像你花了很多年思考,而你仍然无法将它的功能提炼成一个合理的名字,那么你可能需要重构任何你正在尝试的东西命名为更小,更具体的组件.