美文网首页
命名规范

命名规范

作者: 可问春风渡江陵 | 来源:发表于2019-03-29 09:19 被阅读0次

    1. 常量

    • 规则
    1. 格式为 Type *const kName//const修饰放到*号之前只表示指针指向地址不能修改(实现文件内)
    2. 格式为 Type *const 类名+Name//(类外可见)
    
    • 建议
    1. 尽量不使用宏定义(swfit不能使用宏定义)
    2. static与extern修饰使用场景要区分
    

    2. 变量

    • 规则
    1. 成员变量m作为前缀,全局g作为前缀
    
    • 建议
    1. 私有成员变量尽量写在.m的类扩展中
    

    3. 属性

    • 规则
    1. m作为前缀
    
    • 建议
    1. 如果属性为私有,并且未使用懒加载,建议将属性改为变量(属性使用时会涉及到方法派送,影响性能)
    

    4. 枚举

    • 规则
    1. 大驼峰式命名,格式为MM+Name
    2. 枚举内容以枚举类型名称开头 
    
    typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
        AFNetworkReachabilityStatusUnknown = -1,
        AFNetworkReachabilityStatusNotReachable = 0,
        AFNetworkReachabilityStatusReachableViaWWAN = 1,
        AFNetworkReachabilityStatusReachableViaWiFi = 2
        };
    

    5. 方法

    • 规则
    1. 返回值是新建的话,方法名首字母用返回值类型(属性存取不算)
    2. 返回值前面可以加修饰词
    3. 没有返回值的方法用动词开始
    4. get开头的用于那些由输出参数来保存返回值得函数
    5. 返回时Boolean类型的话使用is或者has
    
    • 建议
    1. 私有方法加前缀p_
    

    6. 类

    • 规则
    1. 大驼峰式命名MM+Name,能加后缀的加后缀
    

    7. 协议

    • 规则
    1. 类的实例必须为回调方法的参数之一
    
    -(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
    
    2. 以类的名字开头(回调方法存在两个以上参数的情况)以表明此方法是属于哪个类的, 如:(这一条可以和第一条合并)
    
    -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    
    3. 回调方法的参数只有类自己的情况,方法名要符合实际含义
    
    -(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
    
    4. 使用did和will通知Delegate已经发生的变化或将要发生的变化, 如:
    
     -(NSIndexPath*)tableView:(UITableView*)tableView willSelectRowAtIndexPath:(NSIndexPath*)indexPath;
      -(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath;
    

    8. 关于大括号

    • 规则
    1. 类方法必须另起一行写大括号,对于其他情况跟在代码之后空一格
    

    9. 对method进行分组

    • 建议
    #pragma mark----------------------------------life cycle
    - (void)viewDidLoad {
        [super viewDidLoad];
        
    }
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
    }
    
    #pragma mark----------------------------------UITableViewDelegate
    - (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
        return 0;
    }
    -(UITableViewCell *)objectInConfigBtnAtIndex:(NSUInteger)index {
        return nil;
    }
    
    #pragma mark----------------------------------CustomDelegate
    /*
     自己的代理
     */
    
    #pragma mark----------------------------------event response
    - (void)didTappedConfigBtn:(UIButton *)btn {
        
    }
    
    #pragma mark----------------------------------private method
    /*
     私有方法
     */
    
    #pragma mark----------------------------------getter and setter
    - (UIButton *)configBtn {
        return nil;
    }
    - (UITableView *)tableView {
        return nil;
    }
    

    相关文章

      网友评论

          本文标题:命名规范

          本文链接:https://www.haomeiwen.com/subject/lwykbqtx.html