介绍个小工具 - ABAP Cleaner

news2024/10/3 6:31:58

1. 背景

在编写ABAP代码时,我们可以通过Pretty Printer (Shift + F1)去完成代码的美化,但Pretty Printer所能提供的仅仅是关键字大小写的设置、以及行首留空格的控制,如下图所示。

也就是说,Pretty Printer所能提供的仅仅是代码格式上的微调,并不能让我们的代码更加的clean。

“Clean”是什么意思呢?这个就要说一说Clean Code的概念了,它从命名规范、格式、常量、变量以及类的使用的方方面面给出了相应的编程原则,核心就是让我的代码变得更加规范、整洁、干净。

这也意味着,如果想让自己的代码更clean些,光靠Pretty Printer去美化下格式是远远不够的,还需要手动去更改代码,去向这些clean的原则靠拢。有关clean design在ABAP中的应用,可以查看Clean ABAP的概念。

今天介绍的ABAP Cleaner是ABAP的ADT编程环境下的一款小插件,可以辅助我们实现clean code的目标。

2. ABAP Cleaner

2.1 简介

ABAP Cleaner是一款可以配置的小工具,旨在帮我我们尽可能多的完成ABAP编程中,可以自动化Clean的部分。

目前,ABAP Cleaner的V0.12版本中内置了60多种可配置的规则,来辅助我们的ABAP编程。

它可以帮助我们完成:清除未使用的变量,转换方法的调用模式(函数式调用),规范条件表达式的写法,使用新语法替代老语法,规范代码格式等工作。

如下图所示,安装完ABAP Cleaner插件后,针对目标代码。通过快捷键Ctrl + 4便可以一键完成自动clean的动作。

cleanup-example.png

 2.2 安装

第一步,安装ADT或Eclipse的ADT兼容版,如果你的电脑上已经安装的ADT,则可以直接跳过这一步。

第二步,启动ADT,选择Help >> Install New Software...,然后复制这个链接https://sap.github.io/abap-cleaner/updatesite到  Work with: 字段,点击Enter,然后确认安装。

第三步,安装完成后,重启ADT。在 source code的菜单下,你会发现两个新的功能和其对应的快捷键( Ctrl + 4 or Ctrl + Shift + 4)。

 2.3 使用

使用abap cleaner的方法十分简单,通过下面两个快捷方式即可

  • Ctrl + Shift + 4:在clean up前,预览结果;并可以完成clean up规则的设定
  • Ctrl + 4:基于设定的规则,直接完成clean up。无预览步骤。

使用Ctrl + Shift + 4,可以打开预览界面,在这个页面可以完成对于abap cleaner的设置。

点击Edit Profie and Rules,可以看到当前ABAP Cleaner所支持的规则,你可以选择激活特定的规则,并可以对规则进行相关参数的配置。

 配置完规则后,可以直接通过Ctrl + 4,对于ABAP代码进行clean up。

若仅想clearn up部分代码,则可以通过选中代码块,然后在使用Ctrl + 4或 Ctrl + Shift + 4的方式。也就是说,ABAP Cleaner支持框选的模式。

3. 小结

本文介绍的ABAP Cleaner的安装和使用方法,希望各位小伙伴借助这个工具,可以写出更加优雅的ABAP代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/835980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】仓储--维护出入库流水、库存,去重数量逻辑修正

系列文章 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179216 C#底层库–MySQL数据库操作辅助类(推荐阅读&#xff0…

【QNX】快速入门指南

目录 1.QNX 快速入门指南 2.系统要求 2.安装 QNX Momentics 开发套件 3.安装 QNX Neutrino 实时操作系统 4.QNX Neutrino 操作系统的联网 1.QNX 快速入门指南 本指南旨在帮助用户安装和配置 QNX Momentics 工具与 QNX Neutrino 操作系统,以便用户立即进行程序开…

Mybatis 实体类属性名和表中字段名不一致怎么处理

一. 前言 最近耀哥有学生出去面试,被问到 “Mybatis实体类的属性名和表中的字段名不一致该怎么处理?”,这其实是一个很经典的面试题,接下来耀哥就为大家详细解析一下这道面试题。 二. 分析 2.1 实体类和字段名不一致所带来的后果…

<C/C++>日期和时间的使用(time相关函数大全)

1、函数详解及示例 1- time_t time(time_t *time); 1)功能:获取或设置系统时间。 2)参数:若给定参数,则将当前时间保存到该参数中;若不给定参数,参数填NULL。 3)返回值&#xff1…

CANDela Cdd 文件和CddT文件的相互转化

cdd转cddT Step1 点击Check Consistency , step2 没有任何error step1 选择Convert Document to Template , 然后选择想要转换的文件 保存cddt文件 cddT转cdd cddt文件的可编辑权限更高,但是在diva工程和canoe中只能使用cdd文件,所以,我们…

跑步用哪款耳机比较好、最适合跑步用的蓝牙耳机推荐

运动时聆听音乐可以为枯燥的过程带来娱乐,并且能够转移注意力,让人忽略身体负荷带来的不适感。而一款出色的运动耳机则成为锻炼过程中的重要辅助,它能够帮助控制节奏,使运动过程更加愉悦和高效。以下是一些备受推崇的热门运动耳机…

EventBus 开源库学习(一)

一、概念 EventBus是一款在 Android 开发中使用的发布-订阅事件总线框架,基于观察者模式,将事件的接收者和发送者解耦,简化了组件之间的通信,使用简单、效率高、体积小。 一句话:用于Android组件间通信的。 二、原理…

Windows环境下VSCode安装PlatformIO Cero报错ERROR: HTTP error 403 while getting

安装PlatformIO插件成功,初始化失败 错误信息判断问题尝试访问https://pypi.tuna.tsinghua.edu.cn/simple/platformio/成功点击文件后报错如下: 解决问题- 换源 ( Windows下有两个地方需要更改)cmd命令行Pip文件 总结:…

C语言指针操作数组赋值

1、通过指针修改数组元素的值 ps:int a[10] {10}; 数组名a &a[0] a1 &a[0]1 跨过得是数组元素类型的长度&#xff0c;&a是对整个数组取地址&#xff0c;&a1是跨过整个数组的长度 #include "stdio.h" #include <stdlib.h>int main() {i…

LeetCode-654-最大二叉树

一&#xff1a;题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回…

勒索软件攻击防御的9件事

什么是勒索软件攻击&#xff1f; 勒索软件是一种特定类型的恶意软件&#xff0c;它将数据作为“人质”来勒索赎金。网络钓鱼电子邮件是其一种常见的传播方式&#xff0c;同时勒索软件也可以借由下载广泛传播&#xff0c;也就是在用户访问受到感染的网站时进行传播。随着网络攻…

推荐GitHub 中的 C avl tree

https://github.com/greensky00/avltree.git 6 内核果然是,最好的C 标准库 &#x1f602;, 早晚手撕一遍这个代码

大模型,拼算力更拼落地力

近年来&#xff0c;随着人工智能领域的快速发展&#xff0c;大模型已经成为了业界热议的话题之一。在这个信息爆炸的时代&#xff0c;数据变得比以往任何时候都更加丰富&#xff0c;而大模型的兴起&#xff0c;为我们揭示了探索数据中蕴藏的价值和智慧提供了全新的途径。然而&a…

【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Unity Shader编辑器工具类ShaderUtil 常用函数和用法

Unity Shader编辑器工具类ShaderUtil 常用函数和用法 Unity的Shader编辑器工具类ShaderUtil提供了一系列函数&#xff0c;用于编译、导入和管理着色器。本文将介绍ShaderUtil类中的常用函数和用法。 编译和导入函数 CompileShader 函数签名&#xff1a;public static bool C…

发灰黑行业用搜索留痕排名推广哪款软件好

发灰黑行业用搜索留痕排名推广哪款软件好 最近微博视频排名发不了&#xff0c;不收录 目前推荐泛目录或者寄生虫 以后只要知道这个逻辑就可以 平台会因为发的人多而和谐&#xff0c;也就是发不出去 接下来给大家介绍下 想要网站排名&#xff0c;却又不知道具体的优化步骤和方…

自建类ChatGPT服务:本地化部署与远程访问教程

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

基于注解实现接口幂等机制防止数据重复提交

1:什么是接口幂等性? 能解决什么问题? 接口幂等性是指无论调用接口的次数是一次还是多次&#xff0c;对于同一资源的操作都只会产生相同的效果。 比如: 一个订单记账的时候,会同步扣减库存数量,如果记账的按钮被用户多次触发,就会导致一个订单库存却被多次扣减的情况. 如果对…

【ArcGIS Pro二次开发】(56):界址点导出Excel

界址点成果表是地籍测绘中的一种表格&#xff0c;用于记录地块的界址点坐标和相关属性信息。 这个工具的目的就是为了将地块要素导出为界址点成果表。 一、要实现的功能 如上图所示&#xff0c;在【数据处理】组—【Excel相关】面板下&#xff0c;点击【界址点导出Excel】工具。…

话费充值系统源码话费直充快充慢充系统源码

话费充值系统/话费直充/快充慢充系统/话费直充系统