zoukankan      html  css  js  c++  java
  • OC命名规范及代码注释规范

    OC 命名规范及代码注释规范

        初级的开发者常常因变量过多,文件杂乱叫苦不迭,其实计算机语言是人和计算机之间通讯的媒介。好的代码应该是就像人对计算机说话那样,让人看起来轻松易懂,规范的命名和代码注释能够帮助我们减少bug,较好的和同事进行代码交流。然而命名看似简单的事,很多有经验的程序员很难做到。在苹果的SDK中有大量的API,就有很多我们值得效仿的例子,如begin,,did,subtitle,adjustsImageWhenDisabled,adjustsImageWhenHighlighted等,因此对于程序开发语言的学习,较好的英语功底有很大优势。

     1.一些命名技巧  

    程序中变量名尽量用英文简称(禁止用拼音),如student简写为stu,button简写为btn。

    定义对象动作的时候,如果即将发生用begin,正在进行用do,已经结束用did。

    类命名的时候前面尽量添加英文大写前缀,对象后面多是英文名字添加后缀。

    2.普通注释的写法.

    常用的注释形势有单行注释("//")和多行注释("/**/"),如果在代码编写时只是简单地定义变量或者简单声明类和对象的时候可用单行注释,如果注释内容较多,则换取多行。

    3.类或对象(协议、分类)的注释

    //声明父类
    @inertface person:NSObject
    
    /*声明子类
    * 继承自person
    */
    @interface children :person

    4.一些封装好的函数或者代码块的注释

    /**
    *打印hello world
    **/
    -(void)print
    {
      NSLog(@"hello world");
    }
    /**打印输出helloworld
    *    含三个字符串参数
    */
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            NSString *str1=@"hello";
            NSString*str2=@"world";
            NSString*str3=[str1 stringByAppendingString:str2];
            NSLog(@"%@",str3);
        }
        return 0;
    }

    5.代理方法和数据源注释方法

          #pragma  mark 用来注释代理方法和数据源注释方法,#pragma是一个预处理指令,用来设定编译器的状态或者指示编译器完成一些特定的动作,#pragma相应的还有#pragma once(保证头文件被编译一次),#pragma hdrstop (表示预编译的头文件到此结束编译),#pragma comment (该指令将一个注释记录放入一个对像文件或可执行文件中。

    常用的lib关键字,可以帮我们连入一个库文件。
    每个编译程序可以用#pragma指令激活或终止该编译程序支持的一些编译功能。例如,对循环优化功能:
    1 #pragma loop_opt(on)//开始激活
    2 #pragma loop_opt(off)//终止激活

    在c语言编写时,程序中会有些函数会使编译器发出你熟知而想忽略的警告,如“Parameter xxx is never used in function xxx”,可以这样:

    #pragma warn—100//Turnoffthewarningmessageforwarning#100
    intinsert_record(REC*r)
    {/*functionbody*/}
    #pragma warn+100//Turnthewarningmessageforwarning#100backon

    函数会产生一条有唯一特征码100的警告信息,如此可暂时终止该警告

    类似 #pragma预编译方法还有很多,就不列举了。

     
     
  • 相关阅读:
    稀疏数组和队列
    JVM中的GC算法,JVM参数,垃圾收集器分类
    Java虚拟机OOM问题和四大引用问题简述
    DLC双端锁,CAS,ABA问题
    CountDownLanuch,CyclicBarrier,Semaphore,Lock问题
    Callable,阻塞队列,线程池问题
    Android View的绘制机制前世今生---前世
    Android触摸事件传递机制,这一篇就够了
    flutter 与 android 混合开发
    Git 快速极简图文教程 第一篇
  • 原文地址:https://www.cnblogs.com/xiejw/p/5131992.html
Copyright © 2011-2022 走看看