File tree Expand file tree Collapse file tree
2023/10/21/iOS/揭开 iOS 中 weak 指针的神秘面纱:从原理到实践
04/28/iOS/深入解析 iOS-RunLoop:事件驱动的核心机制
12/11/iOS/2024 再探ObjC-Category:动态特性与运行时实现的极致之美
10/iOS/窥探block:iOS闭包底层原理完全解析
18/iOS/iOS 如何找到那个方法?消息机制底层探秘 Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616 hexoVersion : '6.3.0'
1717} </ script > < link rel ="alternate " href ="/atom.xml " title ="布多的博客 " type ="application/atom+xml ">
1818</ head > < body > < canvas class ="fireworks "> </ canvas > < i class ="fa fa-arrow-right " id ="toggle-sidebar " aria-hidden ="true "> </ i > < div id ="sidebar " data-display ="true "> < div class ="toggle-sidebar-info text-center "> < span data-toggle ="切换文章详情 "> 切换站点概览</ span > < hr > </ div > < div class ="sidebar-toc "> < div class ="sidebar-toc__title "> 目录</ div > < div class ="sidebar-toc__progress "> < span class ="progress-notice "> 你已经读了</ span > < span class ="progress-num "> 0</ span > < span class ="progress-percentage "> %</ span > < div class ="sidebar-toc__progress-bar "> </ div > </ div > < div class ="sidebar-toc__content "> < ol class ="toc "> < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%89%8D%E8%A8%80 "> < span class ="toc-number "> 1.</ span > < span class ="toc-text "> 前言</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%8E%9F%E5%88%99 "> < span class ="toc-number "> 2.</ span > < span class ="toc-text "> 原则</ span > </ a > < ol class ="toc-child "> < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E4%BC%98%E5%8C%96%E9%98%85%E8%AF%BB%E4%BD%93%E9%AA%8C%EF%BC%8C%E8%80%8C%E9%9D%9E%E5%86%99%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BD%93%E9%AA%8C "> < span class ="toc-number "> 2.1.</ span > < span class ="toc-text "> 优化阅读体验,而非写代码的体验</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E4%B8%8E%E4%B8%8A%E4%B8%8B%E6%96%87%E5%B0%BD%E9%87%8F%E4%BF%9D%E6%8C%81%E4%B8%80%E8%87%B4 "> < span class ="toc-number "> 2.2.</ span > < span class ="toc-text "> 与上下文尽量保持一致</ span > </ a > </ li > </ ol > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.</ span > < span class ="toc-text "> 命名风格</ span > </ a > < ol class ="toc-child "> < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E9%80%9A%E7%94%A8%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.1.</ span > < span class ="toc-text "> 通用命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E7%B1%BB%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.2.</ span > < span class ="toc-text "> 类名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E5%88%86%E7%B1%BB%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.3.</ span > < span class ="toc-text "> 分类命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E6%9E%9A%E4%B8%BE%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.4.</ span > < span class ="toc-text "> 枚举命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E6%96%B9%E6%B3%95%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.5.</ span > < span class ="toc-text "> 方法命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E5%8D%8F%E8%AE%AE%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.6.</ span > < span class ="toc-text "> 协议命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E9%80%9A%E7%9F%A5%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.7.</ span > < span class ="toc-text "> 通知命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E5%B8%B8%E9%87%8F%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.8.</ span > < span class ="toc-text "> 常量命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E5%BC%82%E5%B8%B8%E7%B1%BB%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.9.</ span > < span class ="toc-text "> 异常类命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E6%96%87%E4%BB%B6%E5%91%BD%E5%90%8D%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.10.</ span > < span class ="toc-text "> 文件命名风格</ span > </ a > </ li > < li class ="toc-item toc-level-3 "> < a class ="toc-link " href ="#%E6%B3%A8%E9%87%8A%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 3.11.</ span > < span class ="toc-text "> 注释风格</ span > </ a > </ li > </ ol > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E7%BC%96%E7%A0%81%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 4.</ span > < span class ="toc-text "> 编码风格</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E7%BB%93%E6%9E%84%E9%A3%8E%E6%A0%BC "> < span class ="toc-number "> 5.</ span > < span class ="toc-text "> 结构风格</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%8F%82%E8%80%83 "> < span class ="toc-number "> 6.</ span > < span class ="toc-text "> 参考</ span > </ a > </ li > </ ol > </ div > </ div > < div class ="author-info hide "> < div class ="author-info__avatar text-center "> < img src ="/images/avatar.jpg "> </ div > < div class ="author-info__name text-center "> 布多</ div > < div class ="author-info__description text-center "> 前进!前进!!不择手段地前进!!!</ div > < div class ="follow-button "> < a target ="_blank " rel ="noopener " href ="https://github.com/internetwei "> Follow Me</ a > </ div > < hr > < div class ="author-info-articles "> < a class ="author-info-articles__archives article-meta " href ="/archives "> < span class ="pull-left "> 文章</ span > < span class ="pull-right "> 19</ span > </ a > < a class ="author-info-articles__tags article-meta " href ="/tags "> < span class ="pull-left "> 标签</ span > < span class ="pull-right "> 13</ span > </ a > < a class ="author-info-articles__categories article-meta " href ="/categories "> < span class ="pull-left "> 分类</ span > < span class ="pull-right "> 4</ span > </ a > </ div > < hr > < div class ="author-info-links "> < div class ="author-info-links__title text-center "> 友链</ div > < a class ="author-info-links__name text-center " target ="_blank " rel ="noopener " href ="https://www.coderqi.com/ "> 齐小胖之家</ a > </ div > </ div > </ div > < div id ="content-outer "> < div id ="top-container " style ="background-image: url(/images/backgroundImage.jpg) "> < div id ="page-header "> < span class ="pull-left "> < a id ="site-name " href ="/ "> 布多的博客</ a > </ span > < i class ="fa fa-bars toggle-menu pull-right " aria-hidden ="true "> </ i > < span class ="pull-right menus "> < a class ="site-page " href ="/ "> 首页</ a > < a class ="site-page " href ="/tags "> 标签</ a > < a class ="site-page " href ="/categories "> 分类</ a > < a class ="site-page " href ="/archives "> 归档</ a > < a class ="site-page " href ="/about "> 关于</ a > </ span > < span class ="pull-right "> < a class ="site-page social-icon search "> < i class ="fa fa-search "> </ i > < span > 搜索</ span > </ a > </ span > </ div > < div id ="post-info "> < div id ="post-title "> ObjC 风格指南</ div > < div id ="post-meta "> < time class ="post-meta__date "> < i class ="fa fa-calendar " aria-hidden ="true "> </ i > 2021-08-07</ time > < span class ="post-meta__separator "> |</ span > < i class ="fa fa-inbox post-meta__icon " aria-hidden ="true "> </ i > < a class ="post-meta__categories " href ="/categories/%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83/ "> 开发规范</ a > < i class ="fa fa-angle-right " aria-hidden ="true "> </ i > < i class ="fa fa-inbox post-meta__icon " aria-hidden ="true "> </ i > < a class ="post-meta__categories " href ="/categories/iOS/ "> iOS</ a > < div class ="post-meta-wordcount "> < span > 字数总计: </ span > < span class ="word-count "> 4.3k</ span > < span class ="post-meta__separator "> |</ span > < span > 阅读时长: 14 分钟</ span > </ div > </ div > </ div > </ div > < div class ="layout " id ="content-inner "> < article id ="post "> < div class ="article-container " id ="post-content "> < blockquote >
19- < p > 由 布多(budo) 发布于 2023-10-26 • 最后更新于 2023-10-29</ p >
19+ < p > 由 布多(budo) 发布于 2023-10-26,更新于 2023-10-29</ p >
2020</ blockquote >
2121< h2 id ="前言 "> < a href ="#前言 " class ="headerlink " title ="前言 "> </ a > 前言</ h2 > < p > 制定风格指南主要的目的是统一团队的代码风格与样式,提高工作效率与阅读性还有维护性;< br > 这篇文章虽然是OC风格指南,但是有些风格是所有编程语言通用的,另外它还参考了< a target ="_blank " rel ="noopener " href ="https://github.com/alibaba/Alibaba-Java-Coding-Guidelines "> 阿里巴巴Java代码规范</ a > ,想不到吧。</ p >
2222< h2 id ="原则 "> < a href ="#原则 " class ="headerlink " title ="原则 "> </ a > 原则</ h2 > < h3 id ="优化阅读体验,而非写代码的体验 "> < a href ="#优化阅读体验,而非写代码的体验 " class ="headerlink " title ="优化阅读体验,而非写代码的体验 "> </ a > 优化阅读体验,而非写代码的体验</ h3 > < p > 代码库通常具有较长的生命周期,并且花在阅读代码上的时间也远多于编写代码的时间。所以我们应该明确一个目标:去优化别人阅读、维护我们代码时的体验,而不是优化写代码时的体验(< code > 例如随便使用缩写进行编码,代码量变少了,但是增加了阅读和维护的难度</ code > )。</ p >
Original file line number Diff line number Diff line change 1616 hexoVersion : '6.3.0'
1717} </ script > < link rel ="alternate " href ="/atom.xml " title ="布多的博客 " type ="application/atom+xml ">
1818</ head > < body > < canvas class ="fireworks "> </ canvas > < i class ="fa fa-arrow-right " id ="toggle-sidebar " aria-hidden ="true "> </ i > < div id ="sidebar " data-display ="true "> < div class ="toggle-sidebar-info text-center "> < span data-toggle ="切换文章详情 "> 切换站点概览</ span > < hr > </ div > < div class ="sidebar-toc "> < div class ="sidebar-toc__title "> 目录</ div > < div class ="sidebar-toc__progress "> < span class ="progress-notice "> 你已经读了</ span > < span class ="progress-num "> 0</ span > < span class ="progress-percentage "> %</ span > < div class ="sidebar-toc__progress-bar "> </ div > </ div > < div class ="sidebar-toc__content "> < ol class ="toc "> < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%89%8D%E8%A8%80 "> < span class ="toc-number "> 1.</ span > < span class ="toc-text "> 前言</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%8E%9F%E5%88%99 "> < span class ="toc-number "> 2.</ span > < span class ="toc-text "> 原则</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E9%80%9A%E7%94%A8%E8%A7%84%E8%8C%83 "> < span class ="toc-number "> 3.</ span > < span class ="toc-text "> 通用规范</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%A4%B4%E6%96%87%E4%BB%B6%E8%A7%84%E8%8C%83 "> < span class ="toc-number "> 4.</ span > < span class ="toc-text "> 头文件规范</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#Block%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83 "> < span class ="toc-number "> 5.</ span > < span class ="toc-text "> Block开发规范</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E9%80%9A%E7%9F%A5%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83 "> < span class ="toc-number "> 6.</ span > < span class ="toc-text "> 通知开发规范</ span > </ a > </ li > < li class ="toc-item toc-level-2 "> < a class ="toc-link " href ="#%E5%8F%82%E8%80%83 "> < span class ="toc-number "> 7.</ span > < span class ="toc-text "> 参考</ span > </ a > </ li > </ ol > </ div > </ div > < div class ="author-info hide "> < div class ="author-info__avatar text-center "> < img src ="/images/avatar.jpg "> </ div > < div class ="author-info__name text-center "> 布多</ div > < div class ="author-info__description text-center "> 前进!前进!!不择手段地前进!!!</ div > < div class ="follow-button "> < a target ="_blank " rel ="noopener " href ="https://github.com/internetwei "> Follow Me</ a > </ div > < hr > < div class ="author-info-articles "> < a class ="author-info-articles__archives article-meta " href ="/archives "> < span class ="pull-left "> 文章</ span > < span class ="pull-right "> 19</ span > </ a > < a class ="author-info-articles__tags article-meta " href ="/tags "> < span class ="pull-left "> 标签</ span > < span class ="pull-right "> 13</ span > </ a > < a class ="author-info-articles__categories article-meta " href ="/categories "> < span class ="pull-left "> 分类</ span > < span class ="pull-right "> 4</ span > </ a > </ div > < hr > < div class ="author-info-links "> < div class ="author-info-links__title text-center "> 友链</ div > < a class ="author-info-links__name text-center " target ="_blank " rel ="noopener " href ="https://www.coderqi.com/ "> 齐小胖之家</ a > </ div > </ div > </ div > < div id ="content-outer "> < div id ="top-container " style ="background-image: url(/images/backgroundImage.jpg) "> < div id ="page-header "> < span class ="pull-left "> < a id ="site-name " href ="/ "> 布多的博客</ a > </ span > < i class ="fa fa-bars toggle-menu pull-right " aria-hidden ="true "> </ i > < span class ="pull-right menus "> < a class ="site-page " href ="/ "> 首页</ a > < a class ="site-page " href ="/tags "> 标签</ a > < a class ="site-page " href ="/categories "> 分类</ a > < a class ="site-page " href ="/archives "> 归档</ a > < a class ="site-page " href ="/about "> 关于</ a > </ span > < span class ="pull-right "> < a class ="site-page social-icon search "> < i class ="fa fa-search "> </ i > < span > 搜索</ span > </ a > </ span > </ div > < div id ="post-info "> < div id ="post-title "> ObjC 开发规范</ div > < div id ="post-meta "> < time class ="post-meta__date "> < i class ="fa fa-calendar " aria-hidden ="true "> </ i > 2022-01-20</ time > < span class ="post-meta__separator "> |</ span > < i class ="fa fa-inbox post-meta__icon " aria-hidden ="true "> </ i > < a class ="post-meta__categories " href ="/categories/%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83/ "> 开发规范</ a > < i class ="fa fa-angle-right " aria-hidden ="true "> </ i > < i class ="fa fa-inbox post-meta__icon " aria-hidden ="true "> </ i > < a class ="post-meta__categories " href ="/categories/iOS/ "> iOS</ a > < div class ="post-meta-wordcount "> < span > 字数总计: </ span > < span class ="word-count "> 5k</ span > < span class ="post-meta__separator "> |</ span > < span > 阅读时长: 16 分钟</ span > </ div > </ div > </ div > </ div > < div class ="layout " id ="content-inner "> < article id ="post "> < div class ="article-container " id ="post-content "> < blockquote >
19- < p > 由 布多(budo) 发布于 2022-01-20 • 最后更新于 2025-02-13</ p >
19+ < p > 由 布多(budo) 发布于 2022-01-20,更新于 2025-02-13</ p >
2020</ blockquote >
2121< h2 id ="前言 "> < a href ="#前言 " class ="headerlink " title ="前言 "> </ a > 前言</ h2 > < p > 这篇文章是基于笔者个人经验以及一些开发规范总结而成,目的是提高公司内部项目的稳定性与效率。< br > 文章的前半部分是一些通用开发规范,适用于所有编程语言甚至是生活中遇到的问题;< br > 后半部分是关于OC的开发规范以及开发中容易犯的错误,如果不想看可以跳过。</ p >
2222< h2 id ="原则 "> < a href ="#原则 " class ="headerlink " title ="原则 "> </ a > 原则</ h2 > < p > 我们无法写出完全没有BUG的代码,但是我们可以尽量写出容易阅读和逻辑简单清楚的代码,容易阅读和逻辑简单清楚的代码从某种程度上会减少BUG以及BUG的修复难度。</ p >
You can’t perform that action at this time.
0 commit comments