热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CodeCreater代码生成器

##背景:1.写代码的时候,可能经常会遇到多个模块中基础内容都是想似的,例如,你可能很多文件中都会懒加载一个UITable

## 背景:     

1. 写代码的时候,可能经常会遇到多个模块中基础内容都是想似的,例如,你可能很多文件中都会懒加载一个UITableView实例对象,遵守UITableViewDelegate、UITableViewDataSource协议并实现方法,或者你在每一个类中都要写一个方法用来统一管理UI,用一个方法统一用来管理Layout,或者各种#pragma mark - ####;   

2. 类似的东西,处理大概如下:  

   1).没有抽离过公用代码,用的时候重新敲一遍吧;  

   2).没有抽离过公用代码,用的时候把以前的复制过来,多余的删掉吧;  

   3).抽离过公用代码,用的时候直接复制修改类名拖过来就好啦;  

   4).抽离过公用代码,用脚本生成需要的文件;    

3. 于是乎,我让它进化到了第五种:利用NSFileManager相关知识,封以MacOS外壳;能够通过通用模板生成目标文件夹及文件;  

## 思路

其实在我最开始打算写这个小工具的时候,我是创建了很多个类的,准备一个一个的类用字符串拼接而成,并且当时想的可能写出来也不会适合大众模板,只会死死的停留在一个模板上;   

之后突然发现,所谓的快速生成代码,对比之前的文件,改变的仅仅就是类名,文件名;然后就建立了模板,直接遍历模板中的文件夹及其文件,将模板中原来的字段替换成新字段就行了;    

代码也很简单,想知其所以然的可以去看看;

## 贴金  

1. 快速生成所需文件夹及其文件代码,节省复制粘贴新建文件时间,提升开发效率;  

2. 一个模子刻出来的东西,风格统一;

## 一图概全  

IntroductionDiagram.png


## 结语    

1. 使用之前,你们得为自己准备一份通用模板;  

   如果暂时没有,可以通过文件目录下的ZXCodeCreaterTestModule文件夹进行测试;  

2. dmg软件包在Application目录下;

2. 让CodeCreater去接受你们的考验吧!    

3. 使用愉快,谢谢star!  

## 背景:     

1. 写代码的时候,可能经常会遇到多个模块中基础内容都是想似的,例如,你可能很多文件中都会懒加载一个UITableView实例对象,遵守UITableViewDelegate、UITableViewDataSource协议并实现方法,或者你在每一个类中都要写一个方法用来统一管理UI,用一个方法统一用来管理Layout,或者各种#pragma mark - ####;   

2. 类似的东西,处理大概如下:  

   1).没有抽离过公用代码,用的时候重新敲一遍吧;  

   2).没有抽离过公用代码,用的时候把以前的复制过来,多余的删掉吧;  

   3).抽离过公用代码,用的时候直接复制修改类名拖过来就好啦;  

   4).抽离过公用代码,用脚本生成需要的文件;    

3. 于是乎,我让它进化到了第五种:利用NSFileManager相关知识,封以MacOS外壳;能够通过通用模板生成目标文件夹及文件;  

## 思路

其实在我最开始打算写这个小工具的时候,我是创建了很多个类的,准备一个一个的类用字符串拼接而成,并且当时想的可能写出来也不会适合大众模板,只会死死的停留在一个模板上;   

之后突然发现,所谓的快速生成代码,对比之前的文件,改变的仅仅就是类名,文件名;然后就建立了模板,直接遍历模板中的文件夹及其文件,将模板中原来的字段替换成新字段就行了;    

代码也很简单,想知其所以然的可以去看看;

## 贴金  

1. 快速生成所需文件夹及其文件代码,节省复制粘贴新建文件时间,提升开发效率;  

2. 一个模子刻出来的东西,风格统一;

## 一图概全  

IntroductionDiagram.png


## 结语    

1. 使用之前,你们得为自己准备一份通用模板;  

   如果暂时没有,可以通过文件目录下的ZXCodeCreaterTestModule文件夹进行测试;  

2. dmg软件包在Application目录下;

2. 让CodeCreater去接受你们的考验吧!    

3. 使用愉快,谢谢star!  


推荐阅读
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在最近的WWDC17大会上,苹果公司宣布了多项重要更新,其中一项是macOS High Sierra 10.13 Final的正式发布。这一版本经过优化,显著提升了系统的稳定性和响应速度,为用户在任何Mac设备上提供了更加流畅的使用体验。本文将详细介绍如何在Windows系统中利用VMware虚拟机软件安装并运行macOS High Sierra 10.13 Final,帮助用户在非苹果硬件上体验这一先进操作系统。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤
    开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤 ... [详细]
  • 在Java项目中,当两个文件进行互相调用时出现了函数错误。具体问题出现在 `MainFrame.java` 文件中,该文件位于 `cn.javass.bookmgr` 包下,并且导入了 `java.awt.BorderLayout` 和 `java.awt.Event` 等相关类。为了确保项目的正常运行,请求提供专业的解决方案,以解决函数调用中的错误。建议从类路径、依赖关系和方法签名等方面入手,进行全面排查和调试。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
  • iOS 设备唯一标识获取的高效解决方案与实践
    在iOS 7中,苹果公司再次禁止了对MAC地址的访问,使得开发者无法直接获取设备的物理地址。为了在开发过程中实现设备的唯一标识,苹果推荐使用Keychain服务来存储和管理唯一的标识符。此外,还可以结合其他技术手段,如UUID和广告标识符(IDFA),以确保设备的唯一性和安全性。这些方法不仅能够满足应用的需求,还能保护用户的隐私。 ... [详细]
  • 如何正确配置Log4j以优化日志记录效果? ... [详细]
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
author-avatar
naniwang99_537_742
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有