gpt4 book ai didi

language-agnostic - 良好的命名空间命名约定

转载 作者:行者123 更新时间:2023-12-01 07:16:54 24 4
gpt4 key购买 nike

我正在为 CRUD 业务应用程序创建一个类库。业务对象(具有相关数据访问层对象)的主要“类别”是:

  • 维护(用于与 master
    数据库中的表(主列表)
  • 事故(大多数对象与现实世界的事故有关)
  • 搜索(明显)

  • 截至目前,我的命名空间设置如下:
  • BusinessObjects.Maintenance.Contacts
  • BusinessObjects.Maintenance.Products
  • BusinessObjects.Maintenance.Classifications
  • .
  • BusinessObjects.Incidents.Contacts
  • BusinessObjects.Incidents.Products
  • BusinessObjects.Incidents.Classifications
  • .
  • BusinessObjects.Search.Contacts
  • BusinessObjects.Search.Products
  • BusinessObjects.Search.Classifications
  • .
  • Dal.Maintenance.Contacts
  • Dal.Maintenance.Products
  • Dal.Maintenance.Classifications
  • .
  • Dal.Incidents.Contacts
  • Dal.Incidents.Products
  • Dal.Incidents.Classifications
  • .
  • Dal.Search.Contacts
  • Dal.Search.Products

  • 请注意,每个类都以相同的名称结束。

    这是好形式吗?

    此命名空间约定是否会引起任何问题?其他人在查看/使用此代码时可能会感到困惑吗?

    我确实意识到在表单代码中,一个缺点是我必须用命名空间限定所有对象。对我来说,这没什么大不了的。我通常更喜欢稍微明确一点,如果这是一个词的话。

    最佳答案

    反正我觉得还行。不过,我会远离缩写,这会让人感到困惑并迫使人们必须知道缩写或查找它们。它们也变得不可阅读和不可描述。

    "Lets take a look at the BusObjConfIntContYYYYmmdd package now..."

    您可能会遇到的一个问题是名称之间存在细微差别。由于名称的长度可能是一个问题,您的眼睛可能会忽略整个事情而只看到其中的一部分。会不会有这种情况发生?:
    BusinessObjects.Incidents.Classifications
    BusinessObjects.Classifications.Incidents

    或者
    BusinessObjects.Forms.ProjectManager.Exportable.Windows.XP
    BusinessObjects.Forms.ProductManager.Exportable.Windows.XP

    那个人为的例子可能会成为一个问题。

    关于language-agnostic - 良好的命名空间命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/587341/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com