美文网首页
iOS 编码规范与可读性提高

iOS 编码规范与可读性提高

作者: Sonoface | 来源:发表于2020-10-09 16:45 被阅读0次

本文以笔者较为主观角度,梳理了一些iOS开发中代码规范的意见。供各位参考使用。

1.使用XCFormat

XCFormat可以帮我们合理的管理,空行,回车,数学符合的前后空格,去除多余的符号等等。
appstore中有许多Xcode相关的插件,这里推荐XCFormat。
https://apps.apple.com/cn/app/xcformat/id1165321484?l=en&mt=12
可以帮你解决大部分的格式问题,优化代码。

appstore中可以找到


安装完成后,在系统偏好设置中选中


并且可以在【键盘】-》【快捷键】中设置快速校准的功能键


接下来打开Xcode -- Editor,即可看到对应的控件已经安装完成。


2.活用系统默认快捷键

option + command + [ 、option + command + ] 组合使用

“option + command + [ \ ] ”本身的功能是将已扫黑的代码前后移动,以“option + command + [ ”为例,扫黑选中某几行代码后,按下“option + command + [ ”可以将该代码块前移。而 “+ ] ”是后移。 在移动的同时,会自动将扫黑选中的代码自动对齐,我们就是利用这个对齐的效果。
使用一次“option + command + [ ”,再使用一次“option + command + ] ”

option + command + / 的使用

option + command + / 用在方法体前可快速生成格式统一优美的注视,如下:

/// 设置需要显示的语言列表
/// @param array 语言列表
/// @param info XX模型
- (instancetype)initWithArray:(NSArray *)array language:(XXXXInfo *)info;

3.自我修养与习惯

引用
#import "XXXXX.h"
#import <XXXXX/XXXXX.h>
#import "SonAXXXXX.h"
#import <XXXXX/XXXXXX.h>
#import "SonBXXXXX.h"

许多代码维护久了(尤其是公用模块),出现常常出现厚重的引用。大家基本上是用一个加一个。
这个在C语言include时代会引起很多问题。后面在各种语言中都是用类似与OC中import的宏之后,引用部分渐渐淡出大家视野。
为了提高可读性,建议尽可能将组成控件声明在前部,然后在子控件后注视

#import "XXXXX.h"
#import <XXXXX/XXXXX.h>
#import <XXXXX/XXXXXX.h>
/// son
#import "SonAXXXXX.h"    ///xx控件
#import "SonBXXXXX.h"    ///xx控件
匿名分类
@interface WKCFTranslationView ()<NSMenuDelegate, XXXXAProtocol, XXXXBProtocol, XXXXCProtocol>
@property (nonatomic, strong) XXXView *listenInView;
@property (nonatomic, strong) XXXView *speakView;
@property (nonatomic, strong) XXXButton *silenceButton;
@property (nonatomic, weak) XXXWindow *selectLangListWindow;
@property (nonatomic, copy) XXXInfo *currentLanguage;
@property (nonatomic, copy) XXXParam *languageParam;
@property (nonatomic, assign) BOOL isSilence;
@property (nonatomic, assign) BOOL isMenuShowing;
@end

在.m的匿名分类中:
1.每个协议前留空行,优先放置系统协议,再放置自定义协议

<NSMenuDelegate, WKCFXXXXAProtocol, WKCFXXXXBProtocol, WKXXXXClProtocol>

2.属性对象字符前后留空格
3.先写nonatomic、atomic、原子属性。在写strong、weak、copy、assign声明属性,最后写readwrite、readonly等读写属性。
4.优先先写自定义控件、再写指针对象、最后写普通变量

方法声明
- (void)drawRect:(NSRect)dirtyRect {
    [super drawRect:dirtyRect];
    // Drawing code here.
}

这一块其实没有特别好说的,XCFormat通常会完成大部分工作。比较在意的是每一个方法体后的 “ { ” 部分。

- (void)drawRect:(NSRect)dirtyRect {

在Xcode自动生成的init方法中

- (instancetype)init
{
    self = [super init];
    if (self) {
        <#statements#>
    }
    return self;
}

通常是 “ { ” 在第二行,而在自动生成的VC中则是 “ { ” 在方法的同行

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do view setup here.
}

因为看不到.m中的写法,这里就见仁见智了。我个人是更加喜欢同行的方式。

- (void)drawRect:(NSRect)dirtyRect {

总感觉换行的方式特别像js,看起来有点别扭。反正看个人喜好。项目内保持一致即可。
或者也可以,所有构造方法都换行,非构造方法都不换行。

多使用#pragma mark 和 // MARK:

pragma mark 声明的就好像书籍中的导航页标一样。可以在较多的代码中快速寻找。同时类似于另外开辟的一个简易书目。
可以活用各种形式,来提高美感。

/// 添加分割线,在搜索页中更加醒目
#pragma -mark -=-=-=-=- XXXXItem -=-=-=-=-
#pragma mark - ***** Private *****
/// 常用的
#pragma -mark XXXXItem 
#pragma mark XXXXItem 
/// 在搜索页中不添加,但是在.m中会更加醒目
#pragma XXXXItem
// MARK: -=-=- 提高美感 -=-=-
// MARK: - - - - 分割线等等 - - - - -


有兴趣,可以看这篇,挺好:https://www.jianshu.com/p/960d4e184181

期待更多意见,待续。

相关文章

  • iOS(Objective-C)编码规范

    iOS(Objective-C)编码规范 本文件旨在统一****iOS方向编码规范。增强代码可读性,便于后期维护。...

  • iOS 编码规范与可读性提高

    本文以笔者较为主观角度,梳理了一些iOS开发中代码规范的意见。供各位参考使用。 1.使用XCFormat XCFo...

  • 第一天当上前端主管就可以拿来执行的代码规范

    ESLint 与约束 统一编码规范不仅可以大幅提高代码可读性,甚至会提高代码质量。当我们设计了一套关于编码规范的规...

  • 代码规范

    通过建立代码编写规范,形成iOS开发团队编码约定,提高程序的可靠性、可读性、一致性、可维护、可扩展,保证程序代码的...

  • iOS 注释方法大全 代码块加快捷键自定义注释

    注释规范 良好的编码规范是程序员必备的素质,编码中的代码注释尤为重要,健全的代码注释可以提高代码可读性和维护...

  • Golang Programming Style

    前言 本规范是针对 Golang 语言的编码规范,目的是为了统一项目的编码风格,提高软件源程序的可读性、可靠性和可...

  • py_26 软件目录规范

    软件开发目录规范 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软...

  • Java语言基础

    注释与规范 代码注释 单行注释:// 多行注释:/**/ 文档注释:/** */ 编码规范 可读性第一,效率第二 ...

  • python编写规范

    一、 说明 为了规范Python代码的书写,提高代码的可读性,使编码人员在代码上更好的协作,制定了本规范。 中...

  • iOS 注释方法大全 代码块加快捷键自定义注释

    注释规范 良好的编码规范是程序员必备的素质,编码中的代码注释尤为重要,健全的代码注释可以提高代码可读性和维护性,不...

网友评论

      本文标题:iOS 编码规范与可读性提高

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