• 程序设计中的命名


    程序设计中的命名

      在设计过程中好的命名不一定但更大可能会带来好的设计,但是如果坏的命名那一定不会给你带来好的设计。在设计过程,如果你发现你很难命名某一个模块,某个方法时,可能你真正遇到的问题不是难命名的问题,而是这个设计是否真的合理,你或许应该花更多的时间来重新设计一下你的模块。

    1、名字应该尽量采用名词

      Bad:           Happy
      Good:          Happiness

    2、不要使用类似名字空间的前缀

      Bad:           SystemOnlineMessage
      Good:          System::Online:Message

    3、形容词不要用太多,能描述清楚就行。

      Bad:           IAbstractFactoryPatternBase
      Good:          IFactory

    3、如果某个类不能通过简单的命名来描述它具有的功能,可以考虑用类比的方式来命名。

      Bad:           IncomingMessageQueue
                       CharacterArray
                      SpatialOrganizer
      Good:         Mailbox
                      String
                      Map

    4、如果你使用类比,你就应该一致的使用它们

      Bad:           Mailbox,DestinationID
      Good:          Mailbox,Address

    5、简洁

      Bad:           list.GetNumberOfItems()
      Good:          list.Count()

    6、不要太简洁
      Bad:           list.Verify()
      Good:          list.ContainsNull()

    7、避免缩写
      Bad:           list.Srt()
      Good:          list.Sort()

    8、对于完成某件事情的函数使用动词
      Bad:           obj.RefCount();
      Good:          list.Clear();
                     list.Sort();
                     obj.AddReference();

    9、对于返回布尔型的函数,使用类似提问的方式
      Bad:           list.Empty();
      Good:          list.IsEmpty();
                     list.Contains(item);

    10、对于只是返回属性,而不改变状态的函数则使用名词
      Bad:           list.GetCount();
      Good:          list.Count();

    12、不要在函数名字中重复参数的名称
      Bad:           list.AddItem(item);
                     handler.ReceiveMessage(msg);
      Good:          list.Add(item);
                     handler.Receive(msg);

    13、不要方法的名字中重复此方法的类的名称
      Bad:           list.AddToList(item);
      Good:          list.Add(item);

    14、不要在函数的名字中加入返回类型,除非函数名必须以返回类型进行区别
      Bad:           list.GetCountInt();
      Good:          list.GetCount();
                     message.GetIntValue();
                     message.GetFloatValue();

    15、不要名字中使用And 或则 Or
       如果你使用一个连接词来连接函数名,那么这个函数肯定是做了太多的事情,更好的做法是将其分成更小的函数来处理(类似面向对象设计准则中的责任单一原则)。
       如果你想确保是这是一个原子的操作,那么你应该用一个名字来描述这个操作或一个类来封装他
       Bad:           mail.VerifyAddressAndSendStatus();
       Good:          mail.VerifyAddress();
                      mail.SendStatus();

  • 相关阅读:
    NDK 在 Android studio如何使用(Android studio NDK)
    懒人习惯之ButterKnife Zelezny
    Android 如何在Eclipse 引入外部纯Java项目(不是打成Jar使用)
    android:ellipsize="end" 失效或者 相关的Bug
    Python 父目录获取
    RecyclerView中实现headerView,footerView功能
    Win7/Win8.1右键菜单技巧:应用程序任意加
    使用android-resource-remover优化资源使用率和lint-result.xml如果导出
    Android Studio 1.1.0版本以上 优化编译
    关于Eclipse如何加入Gradle文件与Android Studio两个平台一起开发,工作目录不发生变化
  • 原文地址:https://www.cnblogs.com/tekkaman/p/4038577.html
Copyright © 2020-2023  润新知