前言本文基于DevEco Studio 5.0.5 Release DevEcoStudio和大多数的开发工具一样,都有提高代码编码效率的工具或者方法,不知道,在实际的开发当中,你是否投入了使用,本篇文章 ,我们重点结合实际的代码,看看DevEcoStudio中那些可以提高我们编码效率的快捷方式。 快速生成构造器我相信肯定有小伙伴,在写实体类的时候,构造函数,还在进行手写,其实,在DevEco Studio中,这种生成,一个快捷方式便可以搞定。 右键选择Generate:选择Constructor选择要携带的属性动态效果如下:快速生成get/set方法在DevEco Studio中除了构造函数可生成之外,我们还可以自动化生成当前类中的成员变量或对象属性对应的 本文标签:鸿蒙开发工具/DevEco Studio
2020年9月10日,华为CEO余承东在华为开发者大会上宣布,鸿蒙2.0(HarmonyOS 2.0)系统正式发布。 此次距离华为鸿蒙1.0(HarmonyOS 1.0)发布已经过去一年了。 从华为遭遇制裁开始,鸿蒙成为了很多国人的寄托。但第一次推出,就引发了争议: 没有完整的开发文档,架构设计说明,配套的IDE,没有可编译的DEMO......鸿蒙1.0一度被称为为“PPT操作系统”。 而一年后的鸿蒙2.0都有了:技术架构公开,文档代码全部开源。 外人不懂,其实我们做这一行应该知道: 走到这一步的华为,已经开始向巨头迈进。 作为半个内行人,我们最关注的当然还是鸿蒙系统的源码,已经有一些尝鲜的小伙伴跑过一波,按照步骤一步步跑下来,整个流程还是不难。
介绍本示例将介绍如何使用装饰器和插件,自动生成动态路由表,并通过动态路由跳转到模块中的页面,以及如何使用动态import的方式加载模块。 使用说明自定义装饰器添加装饰器和插件配置文件,编译时自动生成动态路由表配置动态路由,通过WrapBuilder接口,动态创建页面并跳转。 /common/routermodule" }以上是需要在主模块中添加的配置,如果已经添加过相关代码,则可以直接略过,按照下面的步骤在子模块中添加相关即可自动生成动态路由相关文件。 // 自定义装饰器,用于自动生成动态路由代码及页面的跳转。 1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript
前言本文基于Api13, DevEco Studio 5.0.5 ReleaseCodeGenie是DevEcoStudio中一个自带的AI工具,在之前的文章中,也写过两篇文章,主要针对代码生成、知识问答和编译报错智能分析做了概述 确认卡片的相关信息:它会自动的把卡片相关文件生成到我们的项目中,包含UI代码,资源,相关配置等,一切都是自动化配置。 运行之后,我们自动生成的卡片就完成了,效果如下:相关总结上面我们只概述了一种代码保存,那就是自动保存卡片工程,它会把所有的代码,资源以及配置进行保存,当然了,它还有手动的保存的方式,那就是右侧的三个选项 :点击第一个代码,在卡片的下面就会把当前的卡片代码进行展示,我们可以进行查看和复制使用。 本文标签:鸿蒙开发工具/CodeGenie
再举一个常见的场景,一个函数,你写了很多的代码,想要把一部分代码,快速的抽成一个单独的函数,用于简化当前的代码逻辑,如何快速的实现?可能很多老铁会第一时间想到,把代码复制出来呗,这有什么难的? 有一点需要说明,如果你是私有的属性,也就是组件本身自己的属性,一般它会直接生成@Extend修饰的函数,如果是通用属性,可提取为@Styles或@Extend装饰的函数。 如下所示,我选中的是通用的属性,就可以看到给出要选择的生成选项:提取新方法/函数(Method)在前言中,我们简单列举了一个例子,快速实现了组件的属性函数生成,这种提取方式,就是方法提取,除此之外,在实际的开发中 你可以选择全局或者当前页面中:生成的代码如下:@Entry@Componentstruct Index { build() { Column() { this.newLocalBuilder 本文标签:鸿蒙开发工具/DevEco Studio
鸿蒙应用开发的sdk 现在已经来到了5.0.2(api:14).离我上次写鸿蒙应用(那时候还是9、10)已经过去一段时间(不到一年),版本已经大跃进了,里面的大部分api都已经陌生了。 作品海报生成 (涉及画布渲染生成以及图片存储) 4. 作品AI朗读( 涉及语言播放,AI朗读服务) 等等。要真细想,其实预想的一些功能可以充分利用鸿蒙的很酷的特性。 话不多说,我就开始先敲第一个功能:海报生成。海报生成的功能,根据查阅一番文档下来,需要用以下功能实现,首先是canvas画布,类似html的canvas,这是一个UI组件。 代码中的saveToFile函数是我自己封装。下面会介绍函数的具体代码。最后一步就是跟文件权限有关的操作。 最后我想说,上面的例子只是简单借用画布组件生成数据保存到本地的逻辑。
com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class GeneratorClass { public static void main(String[] args) { // 代码生成器 gc.setOutputDir(path); gc.setIdType(IdType.AUTO);//设置主键策略 gc.setDateType(DateType.ONLY_DATE);//生成 ,"tb_item_param","tb_item_param_item","tb_order","tb_order_item","tb_order_shipping","tb_user"); // 生成的表 ,多个表继续传递即可,String类型的可变参数 //将策略配置对象集成到代码生成器中 mpg.setGlobalConfig(gc); mpg.setDataSource (dsc); mpg.setPackageInfo(pc); mpg.setStrategy(stConfig); //执行生成 mpg.execute
背景介绍: 工作中经常用到单表的增删该查包括分页,定义实体对象和写一些单表dao,代码单一,重复性工作多。毕竟作为开发人员大多数时间应该关注业务,代码自动生成就会节省很多重复性工作。 代码生成工具 根据项目需要定义项目包名和数据库连接信息: package com.wyh.generate.ormcodegenerate; import com.google.common.base.CaseFormat java.text.SimpleDateFormat; import java.util.*; import static com.wyh.generate.ormcodegenerate.ProjectConstant.*; /** * 代码生成器 { genCode("event"); //genCode("输入表名","输入自定义Model名称"); } /** * 通过数据表名称生成代码 tableNames) { genCode(tableName, null); } } /** * 通过数据表名称,和自定义的 Model 名称生成代码
在很多开源的后台管理系统当中都有代码生成的工具,帮助开发者完成通用代码的生成,比如生成 Controller、Service、Dao 和 XML 文件等,能够帮助开发者生成通用的CRUD 其实在开发框架中也有一些简单的代码生成的工具,比如接下来要介绍的 mybatis-plus 提供的代码生成。 使用 SpringBoot 来测试一下 Mybatis-Plus 代码生成的功能。 SpringBoot 项目中使用代码生成器需要引入一些依赖,依赖如下: <! 引入上面的依赖以后,下面的代码其实进行简单的修改就可以完成自己的代码生成,非常的方便。 代码简单的易懂,就不做过多说明。 生成结果 运行上面的代码,来看一下生成的内容,如下图: ?
代码生成 makefile在make all之前会先generated_files去进行代码生成,所以首先要理解代码生成的原理,然后才可以很好的知道 这个过程都干啥了. all: generated_files 写过代码的都知道很多时候有大量结构重复的代码需要去写,劳心劳力还没什么技术含量,所以为了解决这个问题代码生成它来了。 代码生成的场景有很多如: protobuf 根据一个协议字段配置文件生成客户端和服务端的.go代码 IDE中的自动测试用例和接口实现函数代码生成 一些web框架自动生成RESTFUL接口代码 operator 脚手架工具生成k8s controller代码等 在kubernetes中主要生成代码有这些: deep-copy generator, kubernetes中的对象都需要实现该方法,每个对象都自己手动去写很累 代码生成原理 所以我们的目的就是根据源代码再生成一些源代码,那问题就分成三步走: 解析我们写的源码,提取我们所需要的内容,如包名,结构体名,等 渲染模板文件 生成源码文件 下面用个简单的例子来帮助理解这一过程
1.环境搭建参考文章鸿蒙Flutter实战:01-搭建开发环境搭建好开发环境。IDE 安装好 DevEco 和 VsCode/Android Studio。 方案二适应DecEco运行鸿蒙项目,注意需要打开的是ohos鸿蒙目录代码,待IDE分析结束后,点击运行。 当app在鸿蒙设备上启动成功后,立即在 Vscode 中调出 Command Pallet,找到 Flutter Attach ,将 Flutter 调试器连接至宿主机然后就是增加断点,使用hot reload 重新加载 Flutter,调试项目代码。 调试 Webview参考文章 鸿蒙Flutter实战:04-如何使用DevTools调试Webview进行 Webview 调试。
前言本文代码案例基于Api13。 ,使代码更易维护和扩展。 提到AOP,大家最常见的就是日志的记录,AOP可以在不修改原有业务代码的情况下,通过代码插桩的方式,为应用程序添加日志记录功能;当然了,除了日志记录功能,相信大家肯定见过很多的三方的统计,比如友盟,神策等等 AOP,说的简单直白一点,就是,它可以实现对原有的对象方法,在执行前后,进行插桩,同样,在鸿蒙的开发中,我们也可以直接对其方法进行替换操作,如何实现,在Api 11之后使用Aspect对象即可。 相关总结正确的运用AOP,可以提升代码的模块化、复用性、可维护性和灵活性,同时降低了耦合度,使系统更易于扩展和维护。
摘要 JsonToArkTS 在线工具助力开发者快速将复杂 JSON 转换为 ArkTS 接口或类,大幅提升鸿蒙应用开发效率。 本文将通过实际案例,手把手教你如何利用该工具一键生成 ArkTS 模型代码,节省开发时间。 智能拆分:自动处理嵌套对象和数组,生成模块化代码。 灵活选择:支持Interface和Class两种生成模式,适应不同场景。 总结 JsonToArkTS 工具显著简化了鸿蒙开发中 Model 类的编写流程,尤其适合处理复杂 JSON 数据结构。通过自动化生成接口或类,开发者可专注于业务逻辑,提升整体效率。 致谢:感谢社区开发者提供的代码与思路,工具将持续优化以增强智能性。
场景 1.CodeFun是什么 CodeFun是一款UI 设计稿智能生成源代码的工具,支持微信小程序端、移动端H5和混合APP,上传 Sketch、PSD等形式的设计稿,通过智能化技术一键生成可维护的前端代码 CodeFun 的使用流程只有 3 个步骤: 在 Sketch 插件中上传设计稿 在 CodeFun 工具中查看代码 将生成的代码拷贝到自己已有的工程中即可 1、安装 Sketch 插件 在CodeFun 可以先进行代码的预览,和图片资源的查看 以上是单个没有问题的话,可以进行简单的跳转交互,数据绑定的操作,可以下载代码 获取代码 用户在上传完设计稿后,有两种获取代码的方式: 区域提取代码 整站打包下载 ,打开代码面板 代码面板中默认展示 4 列,分别展示 HTML、CSS、JS 和全局样式的代码。 打开小程序开发工具,分别将这四部分代码粘贴到小程序相应的文件中,这样就可以整页提取代码,但有时候页面中会遇到类似“Tab 标签页”、“Swipe 轮播”等交互式组件时,自动生成的整页代码并不能支持交互,
解决方案 其实解决这个问题的方式有很多,本文介绍其中一种解决方案,通过mybatis的逆向工程生成实体类。 -- 是否去除自动生成的注释 --> <property name="suppressAllComments" value="true"/> </commentGenerator
作为通用识别码,其java的实现版本如下 ,本文以 将url(https://blog.csdn.net/renyuanfang/article/details/86701148)转换成uuid为例,实现具体的代码实现 buffer.put(input); System.out.println(UUID.nameUUIDFromBytes(out).toString()); } } python 的生成版本如下
UnitGen 是我们从 UnitEval 拆分出来的代码数据集生成项目,旨在为基于开源模型供的私有化部署提供更好的编码数据集。 在结合开源模型 + AutoDev 插件之后,你可以使用 UnitGen 结合企业内部现有的代码生成微调数据集,以让模型生成的代码更适合组织内部的需要,提升开发人员效率。 ArchGuard 只是作为阈值的一部分,以支持:代码、测试代码、MVC 代码的质量检查。 UnitGen 文档数据集生成 在文档数据生成上,与先前的补全数据集生成,文档的生成逻辑非常简单 —— 找到对应的注释块(类和方法级),然后生成即可。 同时,在生成第二个版本的 AutoDev Coder 数据集时,我们人工 review 了一部分代码,结合 OpenAI 重构了注释和一些测试的实现,以提升数据级的质量 —— 以实现真正的人工-智能。
所以我们可以使用mybatis的代码自动生成工具来减少我们的工作。它能帮助我们根据数据库中的数据表生成对应的Dao,也能生成简单的一些SQL映射,当然复杂的SQL映射还是需要我们自己手动去写。 -- 下面一行用于取消注释的生成 --> 13 <property name="suppressAllComments" value="true" /> 14 < Dao名称,我这里写的是User,则自动生成的文件有User.java,UserMapper.java,UserMapper.xml。 overwrite命令是用于覆盖已经生成的文件。此处有一个很不方便的问题,就是运行的时候它会找不到generatorConfig.properties,虽然我们在eclipse中是没问题的。 注意:生成的文件所在的目录必须已经存在,否则会报路径not exist的错。 运行效果: ?
本篇主要介绍如何使用MybatisPlus自带的generator模块来生成entity、service、serviceImpl、mapper、mapperXml等,以此来提高开发效率。 builder.author("lee") // 设置作者 .fileOverride() // 覆盖已生成文件 (Collections.singletonMap(OutputFile.mapperXml, "/Users/yongyongli/work/generator")); // 设置mapperXml生成路径 builder.likeTable(new LikeTable("msg_"));// 匹配以msg开头的表 // .addInclude("t_simple") // 设置需要生成的表名 enableRemoveIsPrefix() //开启 Boolean 类型字段移除 is 前缀 .enableTableFieldAnnotation()// 开启生成实体时生成字段注解
代码生成技术是一种通过自动化工具或程序来生成源代码的方法。这种技术可以显著提高开发效率,减少手动编码的错误,并且能够快速适应需求变化。 代码生成技术通常应用于以下几个方面:模板驱动的代码生成:使用预定义的模板和参数来生成代码。例如,根据数据库表结构自动生成数据访问层(DAL)代码。 模型驱动的代码生成:基于领域模型或设计模型自动生成代码。例如,使用UML图生成相应的类和接口。脚本驱动的代码生成:通过编写脚本来生成代码。例如,使用Python脚本生成配置文件或简单的业务逻辑代码。 AI驱动的代码生成:利用人工智能和机器学习技术来自动生成代码。例如,使用大模型生成复杂的业务逻辑代码或优化现有代码。 生成的代码def add_numbers(a: int, b: int) -> int: return a + b总结代码生成技术通过自动化工具和方法,帮助开发者快速生成高质量的代码,提高开发效率和代码质量