zoukankan      html  css  js  c++  java
  • 善用#waring,#pragma mark 标记

      在项目开发中,我们不可能对着需求一口气将代码都写好。开发过程中肯定遇到诸如需求变动,业务逻辑沟通,运行环境的切换等这些问题。当项目大的时候,如果木有形成统一的代码规范,在项目交接和开发人员沟通上将会带来很大的麻烦。

      #pragma mark -

      这个标记在iOS开发中用得最多了。其实最主要的是用来进行标记的,当然也有注释的作用在里面。当然我们也可以用//,/* */等常用注释来说明。但是用#pragma mark -不同的是可以将整个文件的函数以类似分组的形式展现。当我们点击Xcode 导航栏上面的文件后面的列表时将会得到如图所示的界面:

    这样当其他开发者查看此文件时,可以清晰的看到整个函数分布,也清晰的知道各个功能相关的函数。如果鼠标点击其中的标记可以直接跳到此标记的位置,非常的方便。当进行业务上沟通和调用时非常省时省力。用#pragma mark -还有一个好处就是在开发中我们经常会实现其他类的delegate,datasource,protocol等,如果我们#pragma mark - UITableViewDelegate,当我们用鼠标加上command点击UITableViewDelegate会直接跳到这个delegate定义的地方,可以方便的查看相关方法。个人对#pragma mark - 作用的理解是便于开发者之间相互交流。特别是多人的大项目时,如果大家都按各自喜好随便使用#pragma mark - 那么对于项目开发和维护来说是非常灾难性的。不仅开发者自己不清楚自己的整个文件的结构,当其他开发者进行接手开发时将是件非常头大的事情。由于objc函数命名时具有口语化的特点,函数一看名字就知道其要实现的功能,所以平常开发中只写一些关键性说明的注释,如bool变量的说明,业务处理的逻辑等。结合#pragma mark - 可以很方便的让其他开发者理解。

    #waring 

      这个更加建议大家使用,Xcode默认支持了将#waring标记以编译警告的形式显示出来。在软件开发中,大家都会用TODO,FIXME,XXX等特殊注释。这些关键字也被很多IDE所支持。如果在代码中加入#warning 此处需要修改 by james,在Xcode的编译警告窗口中看到:

    在开发中,我们苦逼程序员的思维不断的被打断,不断的来回切换。比如业务逻辑未定,网络请求地址切换,写死代码进行本地测试,项目联调等操作。最蛋疼的时项目上线后突然发现请求地址不对,本地含有写死的测试数据或者我们需要用到其他项目模块代码时,临时改动了别人代码,但木有改回去。这种情况就属于重大项目事故了。一两个不确定改动,苦逼程序员或许会记住,但是多了之后,那直接是百分之一万会被遗漏的。所以最好的方法是在你不确定的业务,测试数据等地方标上编译警告。以#waring 开头写下原因,标记人,时间等说明信息。这样在项目开发结束后,会有一个专门的时间去消除这些警告,以确保没有遗漏的地方。

      对于依然喜欢用TODO,FIXME,XXX的开发者来说可以,设置下工程的"Build Phases",然后添加New Run Script Build Phase,添加以下代码

    KEYWORDS="TODO:|FIXME:|XXX:"
    find "${SRCROOT}" ( -name "*.h" -or -name "*.m" ) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*$" | perl -p -e "s/($KEYWORDS)/ warning: $1/"

    这样xocde就可以将这些特殊标记以#waring的形式展现出来。

     

  • 相关阅读:
    IIS7中的几种身份鉴别方式(一)Basic身份验证
    IIS7中的几种身份鉴别方式(二)集成身份验证
    java集合
    SharePoint 2010中welcome page的设置细节
    SharePoint中使用Linq出现未将对象引用到实例化的解决方法
    SharePoint 2010中关于An error was encountered while retrieving the user profile的处理方式记录
    The Need for an Architectural Body of Knowledge
    The Softer Side of the Architect
    Event Receivers 学习小结
    使用SmtpClient发送带图片的邮件的代码实现
  • 原文地址:https://www.cnblogs.com/jamesy/p/3938337.html
Copyright © 2011-2022 走看看