和大多数networking开发人员一样,我现在非常享受固体MVC架构的好处。 使用PHP进行MVC时,自动加载显然非常方便。 我已经成为spl_autoload_register的粉丝,只是简单地定义一个__autoload()函数,因为如果您将不同的基本模块(每个模块都使用自己的自动加载)合并在一起,这显然更加灵活。 不过,我从来没有感觉到我写的加载函数。 它们涉及大量的string检查和目录扫描,以查找可能的类加载。 例如,假设我有一个基本path定义为PATH_APP的应用程序,以及一个带有名为models , views和controllers目录的简单结构。 我经常使用一个命名结构,在相应的目录下文件被命名为IndexView.php和IndexController.php ,默认情况下,模型通常没有特定的scheme。 我可能有这样的结构的加载函数,这是获得注册与spl_autoload_register : public function MVCLoader($class) { if (file_exists(PATH_APP.'/models/'.$class.'.php')) { require_once(PATH_APP.'/models/'.$class.'.php'); return true; } else if (strpos($class,'View') !== false) { if (file_exists(PATH_APP.'/views/'.$class.'.php')) { require_once(PATH_APP.'/views/'.$class.'.php'); return true; } } else if (strpos($class,'Controller') !== false) { if (file_exists(PATH_APP.'/controllers/'.$class.'.php')) { require_once(PATH_APP.'/controllers/'.$class.'.php'); return true; } } return false; } 如果在此之后没有find,我可能有另一个function来扫描模型目录中的子目录。 […]
我经常看到Java类的名字 XmlReader 代替 XMLReader 我的直觉是完全大写缩写,但显然很多人的想法不同。 或者,也许只是因为很多代码生成器在缩写词方面遇到了问题。 所以我想听听舆论。 你如何利用包含首字母缩略词的类名来大写?
我们公司正在为SVN分支机构和标签创build一个命名约定,而且我对使用分支/标签名称上只有date或内部编号的想法并不满意。 我认为我们需要的名字能够给这个道路所代表的东西带来更大的定义,正在做些什么努力等等。 你觉得/使用什么?
你经常在课程结束时发现哪些名词? 例如,我有一个习惯,把Info粘贴到传递信息的类上,但不要做太多事情: ImportInfo SiteInfo 或协调类: UserManager SecurityManager 我最终经常使用Builder来创build与string相关的类,即使它几乎没有任何构build: TemplateBuilder HtmlBuilder 当然,永恒的助手/实用程序类: PhraseHelper NumberUtility FileHelper 你有没有什么好的,我的意思是简洁和描述性的,名词或词汇你经常用来表示class级的主要angular色? 这个问题是针对.NET世界的,但是可以扩展到Java,C ++,Python等等。
我试图坚持一般的命名约定,如“开发类库的devise指南”中所述。 我将每种types都放到它自己的源文件中(部分类将按照部分类文件的命名规则中的描述,被分割成几个文件),使用types的名称作为文件名。 例子: namespace Demo.Bla // project { enum FlowDirection { } // in file FlowDirection.cs class LayoutManager { } // in file LayoutManager.cs } namespace Demo.Bla.LayoutControllers // folder LayoutControllers in project { class StackPanelLayoutController { } // in file LayoutControllers/StackPanelLayoutController } 但我不确定我是否想出了一个巧妙的方法来命名包含generics类的源文件。 说我有下面的课,例如: namespace Demo.Bla.Collections // folder Collections { class Map<T> { } // […]
我很好奇为什么Ruby的内省相关的方法来检查一个对象是否响应方法是respond_to? 而不是responds_to? 它总是看起来很尴尬,但也许这是因为我习惯了objective-c中的respondsToSelector 。
我坚持在弹簧应用程序中弄清楚服务层的一个好的命名约定。 对于服务层中的每个类,我首先编写它应该实现的接口,然后编写实际的类。 所以例如我有以下接口: public interface UserAccountManager{ public void registerUser(UserAccount newUserAccount); public void resetPassword(UserAccount userAccount); … } 然后是实现类… 在这里有什么错误是UserAccountManager是一个实现类的好名字,所以我不得不给它一个愚蠢的名字,如SimpleUserAccountManager或UserAccountDbManager。 到目前为止,您使用的一些惯例是什么? 把实现类放在一个不同的包中并给它们起一个和接口一样的名字是个好主意? 你还有什么想在以Service结尾的名字上使用以Manager结尾的名字?
什么是人们提出的一些布局文件命名约定。 我没有在网上find任何东西,但想到使用以下约定。 大家怎么想? – activity_* – dialog_* – list_item_* 这就是我迄今为止所做的一切。 另外,对于它的布局命名的活动呢? 例如: -> res -> layout -> activity_about_us.xml -> src -> activity -> AboutUs.java
是否有像Java的com.company.actualpackage一样的Python命名约定? 大多数情况下,我看到简单的,可能碰撞包名称,如“ networking ”。 如果没有这样的约定,是有原因的吗? 你如何看待在Python世界中使用Java命名约定?
关于C#命名缩略词,如果我正在编写一个与Windows API有关的库,那么对于WindowsApi或WindowsAPI是否有强大的约定,还是仅仅是个人偏好?