我们假设,我们创建了一个存储过程,该过程应该检索客户详细信息,并将用于某种仪表板视图。由于还有一些与仪表板相关的其他存储过程,因此可以考虑通过相应地命名SP来对视觉分组:
现在,如果使用.NET 2.0创建标准DAL,您肯定会添加强类型数据集并添加一些表适配器。默认情况下,上面SP的TA将命名为DASH_GetCustomerDetailsTableAdapter,数据表为DASH_GetCustomerDetailsDataTable,依此类推。
通常,您将拥有某种业务逻辑。它可能被称为Customer,具有实例化表适配器的受保护属性,而GetDetails方法可能用于最终检索详细信息。或者您甚至将该方法称为属性本身,将其称为Details,以便表示层可以说像cust.Details或其他任何东西。
然而,...我对所有命名的东西都不满意。是否有必要能够区分在后台工作的存储过程,以便命名应该反映......是否有任何最佳实践?
答案 0 :(得分:2)
我很想从程序的前面删除DASH。一般而言,程序名称应反映程序的作用,而不是谁正在使用它。
考虑极端情况:
get_all_customers
VS
get_all_customers_for_dashboard
get_all_customers_for_invoice_background_job
get_all_customers_for_ad_hoc_report
您的存储过程由仪表板应用程序的背景部分使用,这与程序本身无关,并且将其命名为违反封装。
如果您编写了另一个需要相同逻辑查询的应用程序,您是否会编写以APPNAME为前缀的新程序?