精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

代碼分析與自動化重構工具集:Modernizing

開發 開發工具
技術熱情發電。主要的挑戰是,我們需要拿自己的業余時間來完善工具。

遺留系統的現代化演進是一門藝術。

Why 開源 + 遺留系統現代化工具

在日常的軟件開發里,我們經常會遇到一系列的問題,諸如于:

  • 如何解決人類智商不夠的問題?模式、原則和工具
  • 誰應該去解決代碼的問題?代碼
  • ……

應對于這些問題,其中的一個解決方案就是: 自動化的工具 ,有些人喜歡稱之為  。支撐這些工具的便是一系列的 原則  模式 ,將它們融入到工具之中。另外一個解決人成長的方案就是:元元(meta-meta),這是另外一個故事。

遺留系統是常態。多數時候,我們所遇到的系統里多數是遺留系統,來到一個新項目時,可能就需要對他們快速的分析,以提供洞見 —— 寫 PPT 匯報。所以,在過去的幾年里,咨詢團隊也沉淀了一系列的遺留系統分析和重構的工具,比如新哥的 Tequila、正在開源的架構分析和守護工具 ArchGuard 等等。除此,在有些重構項目里,還要編寫定制的工具來進行分析。

技術熱情發電。主要的挑戰是,我們需要拿自己的業余時間來完善工具。

既然要用自己的時間來開發,還和項目沒有關系,這種 用愛發電 的事情,用開源的方式最合適了。

我們需要怎樣的工具?

從對于使用工具的結果來看,我們需要這個現代化工具是:

特定壞味道。不同的開發團隊會有不同的壞味道,有些壞味道是無法由 Sonarqube 這樣的工具識別的。

自動化重構。基于已知的壞味道,對應的代碼位置信息,對代碼進行自動化重構。

  • 可視化驅動。快速生成項目的分析結果,并展示出來給開發人員了解現狀,還有編寫 PPT。
  • 必要的交互性。用于在重構的過程中,尋找合適的切入點。
  • 定制化開發。
  • 適當的語法精準度。更高的語法精準度,意味著更高的開發成本,需要有針對地平衡它們。
  • 多平臺。我們用的是 macOS,而多數時候,客戶使用的是 Windows。

如何開發這樣的工具?

這里定義的遺留系統現代化工具包含了這么幾部分:語法分析、結果及可視化、自動化重構、架構守護。

語法分析

對代碼進行語法分析,生成特定的語言的數據結構。常用的工具有:Antlr、Ctags、TreeSitter、Doxygen、CodeQuery 等。一個大致的對比(拍腦袋訂的)如下表所示:

結果及可視化

通常來說,我們會出于以下的一些情況,來對遺留系統進行可視化:

  • 數值化。如針對于特定的 smell 進行自動化重構,類似于 Sonarqube,常見的模式和原則源自于《重構》一書。在 Coca 里,還引入了在一些論文里看到了測試的 bad smell,諸如于沒有斷言的測試等。
  • 可視化依賴。如針對于代碼中的類、包等的依賴情況進行可視化,主要用于分析分層架構等。常用的工具有:PlantUML、Graphviz、D3.js、Echarts 等。
  • 代碼屬性可視化。如針對于文件的修改頻率、大小等屬性進行可視化,可以獲取諸如于單位時間內的文件變化頻率。一個文件經常修改,還大量被引用,那說明它是一個不穩定的類、文件,除了業務變化,最有可能就是設計不合理。
  • 其它。

自動化重構

這一步是可選的,它取決于我們的場景。通常來說,編寫這樣的功能主要彌補是現代化的 IDE 無法完成的工作,諸如于:

  • 多代碼庫間的未使用類刪除。
  • 多代碼庫間的聚類。
  • 針對于 CSS 顏色的重構。

架構守護

編寫架構的守護規則,以對于系統的架構進行守護,用的工具有:ArchUnit、ArchGuard 等。在參考了 ArchUnit 的語法之后,我們也設計了一個多語言的架構守護工具:Guarding。

在開發這些工具的過程中,它們也不斷地 push 著我進一步學習語言背后的東西,如編譯原理(語言的前端部分),理解構建系統(build system)等。

遺留系統現代化工具集

為了更有針對性地對遺留系統進行現代化,最近我們創建了一個新的組織:Modernizing,集合了先前開發的一系列工具。并創建了:awesome-modernization 用于對其它的一系列相關的工具進行收集。

在 Modernizing 里,針對于單個編程語言的工具有:

  • 針對于 Java 語言的系統重構、系統遷移和系統分析的工具: Coca ,Go 語言,GitHub stars:691。Coca 是一個“全功能”的重構工具,基于 Antlr 進行語法分析的,除了常規的可視化、調用分析,還可以進行自動化重構。Coca 一名的由來是:對標新哥寫的 Tequila —— 龍舌蘭酒 vs 快樂水。
  • 針對于 CSS/LESS/CSS 的分析和自動化重構工具: Lemonj ,TypeScript 語言,GitHub stars:128。當時設計的主要目的是:用來對 CSS 中的顏色進行提取,基于 Antlr 的語法樹分析,可以用于進行自動化的重構。
  • 針對于 MySQL 代碼進行自動化分析,并從中構建中 UML,并生成其關系的: SQLing ,Go 語言,使用 PingCap 的 SQL 解析器解析。當然了,還有一個初始化的針對于 PL/SQL 的版本:pling。
  • 適用于 Ant 轉 Maven 的半自動化工具: Merry ,Go 語言 + Antlr。
  • 前端規范化改造工具: Clij ,用于一鍵添加 eslint、husky、lint-staged 等,TypeScript 語言。

針對于多語言的工具,我們有:

  • 基于 Antlr 的多語言的語言模型分析工具: Chapi ,Kotlin 語言。其設計的初衷是用于生成 Coca 相同的數據結構,以接入更多的可視化工具。在語法分析上,采用的是 Antlr 進行分析。
  • 基于 Doxygen 的多語言分析和可視化工具:Go mod 版本的新哥的 Tequila 。其中,還有一系列的迷之代碼,需要重構掉。
  • 基于 Ctags 的多語言模型分析和可視化工具: Modeling ,Rust 語言。分析源碼,并生成基于模型的可視化依賴。
  • 基于 TreeSitter 的多語言架構守護工具: Guarding ,Rust 語言。通過自制的 DSL,來對系統架構進行守護。

除此,還有一個在 Inherd 開源小組下開源的:Coco,它主要是通過代碼的物理屬性:修改頻率 + 目錄 + 行數來分析系統的工具。以及現在緊鑼密鼓開源中的 ArchGuard。

我們使用一系列不同的語言和工具來開發這些軟件,因為不同的場景之下,都會有不同的選擇。

下一步?

現有的工具都是分散的,不同工具之前的數據格式不盡相同,缺乏統一的數據格式。在輸出格式不統一時,我們就難以進行標準的可視化,諸如于我們正在構建 codecity 用于在元宇宙里,對遺留系統進行可視化,又或者是正在從 ArchGuard 中拆分的前端可視化部分,以用于復用。理想的情況下,它應該像是一個 pipeline 架構的系統,由一系列的 pipe 和 filter 所構成。

歡迎訪問我們的 GitHub: https://github.com/modernizing

責任編輯:張燕妮 來源: phodal
相關推薦

2020-12-01 07:01:41

CSS工具重構

2020-12-08 06:20:49

前端重構Vue

2022-03-30 09:43:19

jscodeshif自動化重構開發

2021-09-07 09:00:00

開發測試工具

2016-04-12 10:18:19

代碼審計自動化代碼審計工具

2021-06-28 06:32:46

Tekton Kubernetes Clone

2021-03-30 09:00:00

工具自動化開發

2021-01-20 05:46:51

自動化Coco項目

2022-02-04 21:50:37

網絡安全自動化

2021-03-23 08:00:00

工具開發審查

2021-09-09 16:45:07

HTTP命令Linux

2025-03-12 12:21:27

2013-07-02 10:45:38

2021-03-04 20:39:48

基礎設施云上運維云上資源

2019-04-17 09:00:00

DevOps基礎架構代碼工具

2017-12-17 21:58:18

2014-11-12 09:24:00

2012-12-24 22:54:31

2014-09-22 11:24:18

運維

2021-06-11 10:15:15

自動化人工智能AI
點贊
收藏

51CTO技術棧公眾號

欧美精品第一页在线播放| 亚洲国产精品一区二区久久恐怖片| 992tv成人免费视频| 奇米777在线视频| 日本大胆在线观看| 成人免费视频app| 韩国19禁主播vip福利视频| 蜜桃色一区二区三区| 99爱在线视频| 国产视频911| 国产精品日韩欧美| 国产1区2区3区4区| 视频欧美一区| 欧美色视频日本版| 亚洲欧美日产图| 国产亲伦免费视频播放| 欧美国产三区| 亚洲国产欧美一区| 可以免费观看av毛片| 波多野结衣在线影院| 日本免费新一区视频| 精品国产一区二区三区四区在线观看| 午夜视频在线免费看| 97在线视频免费观看完整版| av爱爱亚洲一区| 青青草国产精品一区二区| 亚洲av无码国产精品麻豆天美| 国产69精品久久久久按摩| 亚洲制服丝袜在线| 日韩福利二区| 国精产品一品二品国精品69xx| 日韩中文字幕麻豆| 欧美国产中文字幕| 91麻豆精品国产91久久综合| 999精品视频在这里| 在线观看亚洲a| a级免费在线观看| 欧美激情视频在线播放| 99精品久久99久久久久| 91久久久久久久| 国产成人精品网| 久久久五月天| 国产一区二区三区日韩欧美| fc2成人免费视频| 欧美日韩视频免费看| 精品久久久久久久久久久久| 国产精品99久久久久久大便| 深夜福利视频在线免费观看| 国产v综合v亚洲欧| 国产女人18毛片水18精品| 91在线看视频| 999久久久91| 一本色道久久88综合亚洲精品ⅰ| 性猛交╳xxx乱大交| 亚洲福利影视| 精品污污网站免费看| 少妇高潮毛片色欲ava片| wwwxxx在线观看| 久久久久久久久97黄色工厂| 国产伦精品一区二区三区高清版| 国产精品女人久久久| 奇米四色…亚洲| 日韩av电影中文字幕| 日本少妇全体裸体洗澡| 欧美国产三级| 欧美成人合集magnet| 老司机精品免费视频| 国产午夜一区| 亚洲日本中文字幕| 中文字幕在线观看91| 电影91久久久| 日韩一区二区三区av| 亚洲无在线观看| 欧美电影在线观看网站| 色偷偷久久一区二区三区| 国产99久久九九精品无码| 91九色porn在线资源| 亚洲国产sm捆绑调教视频| 隔壁人妻偷人bd中字| 欧美aaa免费| 亚洲福利国产精品| 国产婷婷一区二区三区| hd国产人妖ts另类视频| 午夜久久久久久久久 | 欧美三级午夜理伦三级小说| 欧美精品一区视频| 日韩女优在线视频| 韩国女主播一区二区三区| 亚洲第一精品福利| 亚洲精品乱码久久| 久久人人爽人人爽人人片av不| 亚洲激情久久久| 爱爱的免费视频| 成人vr资源| 久久久精品日本| 国产一级片免费观看| 亚洲神马久久| 欧美激情国产日韩精品一区18| 日韩免费不卡视频| 欧美中文字幕| 国产一区玩具在线观看| 国产视频第二页| 成人精品视频一区| 免费成人深夜夜行视频| eeuss影院www在线观看| 中文字幕精品一区二区三区精品| www亚洲国产| 国产美女一区视频| 色美美综合视频| 手机看片福利日韩| 国产一区二区三区黄网站| 亚洲成人亚洲激情| 永久免费毛片在线观看| 欧美激情综合| 国产97免费视| 精品久久国产视频| 暴力调教一区二区三区| 色综合视频二区偷拍在线| 国产在线激情视频| 欧美日韩国产中文精品字幕自在自线 | 婷婷综合成人| 超碰精品一区二区三区乱码| 91精品国产高潮对白| 蜜桃精品视频在线| 国产欧美一区二区三区另类精品| 色播色播色播色播色播在线| 亚洲人吸女人奶水| 黄色一级视频片| 精品国产18久久久久久二百| 日韩黄色高清视频| 手机毛片在线观看| 最新国产乱人伦偷精品免费网站| 国产福利视频一区| 蜜臀久久久久久999| 91色婷婷久久久久合中文| 国产卡一卡二在线| 456亚洲精品成人影院| 精品福利在线导航| 黄色一级片中国| 日韩在线一区二区| 精品一区二区不卡| 三级网站视频在在线播放| 欧美天堂一区二区三区| 成人精品在线观看视频| 国内精品嫩模av私拍在线观看| 国产精品福利在线观看网址| 丰满岳乱妇国产精品一区| 亚洲欧洲日产国码二区| 成人综合视频在线| jizz久久精品永久免费| 久久精品国产96久久久香蕉| 9i精品福利一区二区三区| 成人激情小说网站| 日韩在线视频在线| 99国内精品久久久久| 伊人成人开心激情综合网| 亚洲 欧美 视频| 99免费精品在线观看| 免费在线黄网站| av成人男女| 日韩一区二区欧美| 亚洲天堂视频在线播放| 久久久久国产成人精品亚洲午夜| 人妻少妇精品无码专区二区| 91精品视频一区二区| www.色综合| 国产精品久久久久久久久毛片| 国产精品女主播av| 在线观看国产福利| 欧日韩不卡视频| 日本一区二区在线免费观看| 毛片a片免费观看| 91久久电影| 国产精品久久久久久久一区探花 | 欧美久久久久久久久中文字幕| 亚洲自拍偷拍一区二区| 国产精品亚洲欧美| 鲁鲁视频www一区二区| gay欧美网站| 在线观看国产精品日韩av| 无码任你躁久久久久久久| 国产欧美一区二区三区在线看蜜臀 | 狠狠色丁香婷综合久久| 亚洲精品偷拍视频| 亚洲国产高清在线观看| 久久久人成影片一区二区三区观看 | 4438全国亚洲精品观看视频| 欧美国产日韩免费| 日本免费不卡视频| 色哟哟亚洲精品| 少妇精品无码一区二区免费视频| 免费人成黄页网站在线一区二区 | 亚洲av无码成人精品区| 综合激情一区| 国产精品乱码一区二区三区| 天堂中文在线播放| 最新国产成人av网站网址麻豆| 国产精品国产三级国产普通话对白 | 水蜜桃精品av一区二区| 国产欧美一区二区三区在线| 性爱视频在线播放| 亚洲精品久久久久久久久久久久| 无码人妻久久一区二区三区| 国产精品久久久久久久久图文区| 欧美色图校园春色| 亚洲一卡久久| 亚洲国产精品影视| 人妖一区二区三区| 国产区精品视频| 91破解版在线观看| 永久555www成人免费| 国产色在线视频| 欧美性xxxxx极品娇小| 成人在线播放网址| 午夜一级黄色片| 国产精品五月天| 粗大的内捧猛烈进出视频| 9色精品在线| 亚洲一区高清| 老牛精品亚洲成av人片| 国产日韩精品入口| 欧美另类老肥妇| 久久色免费在线视频| 天堂中文在线8| 欧美一级生活片| 懂色av蜜臀av粉嫩av分享吧最新章节| 亚洲品质自拍视频网站| av网站免费在线看| 成人午夜电影小说| 国产高清视频网站| 欧美日韩1080p| 日韩中文字幕一区二区| 精品国产一区二区三区成人影院| 国产日韩欧美中文| 午夜精品成人av| 欧美精品videosex极品1| 国产在线视频资源| 精品国免费一区二区三区| 一区二区www| 欧美在线综合视频| 国产精品无码一区| 在线观看日韩国产| 精品一区二三区| 91久久精品日日躁夜夜躁欧美| 国产精品自拍99| 亚洲高清免费在线| 国产精品99精品| 亚洲高清在线视频| 国产亚洲欧美精品久久久久久| 一区二区三区四区五区视频在线观看 | se69色成人网wwwsex| 国产精品99久久久久久久久久久久| 欧美成人精品一区二区男人小说| 78色国产精品| 亚洲精品国产精品国产| 欧美性在线观看| 中文日产幕无线码一区二区| 91精品国产乱码久久久久久久久| cao在线视频| 欧美一乱一性一交一视频| 中文字幕资源网在线观看免费| 欧洲日本亚洲国产区| 成人在线爆射| 国产日韩精品入口| 一区二区网站| 久久久久se| 欧美三级情趣内衣| 一本一本a久久| 在线中文字幕第一区| 欧美成人精品免费| 久久不射网站| 色综合色综合色综合色综合| 久久国产综合精品| 色哟哟在线观看视频| 成人少妇影院yyyy| 久久久久久久久久久久久久久| 亚洲国产精品国自产拍av| 翔田千里88av中文字幕| 亚洲图片欧美综合| 国产寡妇亲子伦一区二区三区四区| 欧美三级在线看| 好吊色视频一区二区| 亚洲欧洲日产国产网站| 久久五月精品| 欧美亚洲伦理www| 欧美啪啪网站| 久久久久久国产精品一区| 日韩电影二区| 亚洲熟妇无码一区二区三区| 男人的j进女人的j一区| 午夜福利三级理论电影| 国产女人aaa级久久久级 | 欧美性猛交99久久久久99按摩| 亚洲在线视频播放| 日韩av在线直播| 欧美私人网站| 91av免费观看91av精品在线| 亚洲男女网站| 欧美性xxxx69| 一区视频在线看| 国产日韩欧美久久| 97久久超碰国产精品| 天海翼在线视频| 日韩欧美精品中文字幕| а√中文在线资源库| 在线播放国产精品| 超碰高清在线| 91国产丝袜在线放| 国产欧美久久一区二区三区| 日韩成人手机在线| 久久99这里只有精品| 精品国产无码在线观看| 亚洲一区在线电影| 国产免费久久久| 色婷婷av一区二区三区在线观看| 国产va在线视频| 古典武侠综合av第一页| 91精品国产乱码久久久久久| 日本女优爱爱视频| av高清不卡在线| 久久久久噜噜噜亚洲熟女综合| 欧美日韩另类一区| 国产福利在线观看| 51精品在线观看| 久久综合五月婷婷| 免费看欧美一级片| 国内精品不卡在线| ass极品国模人体欣赏| 日韩欧美福利视频| 无码国精品一区二区免费蜜桃| 欧美福利在线观看| 国产日韩中文在线中文字幕| 伊人久久99| 久久国产精品99久久人人澡| 国产又粗又长免费视频| 日韩欧美精品中文字幕| 牛牛影视精品影视| 日韩av快播网址| 国产一区二区三区电影在线观看 | www.色小姐com| 欧美一区二区三区四区在线观看 | 曰本一区二区三区视频| 黄页网站在线观看视频| 成人三级在线视频| 国产精品免费av一区二区| 亚洲国产成人一区| 高清精品在线| 欧美大陆一区二区| 久热re这里精品视频在线6| 国产成人无码一区二区在线观看| 精品久久久久久久久国产字幕 | 国产一区二区视频播放| 成人动漫一区二区| 国产无遮挡aaa片爽爽| 亚洲第一福利在线观看| 国产资源在线观看入口av| 九九99久久| 午夜亚洲伦理| 性欧美一区二区| 欧美裸体一区二区三区| 国内精品不卡| 国产综合18久久久久久| 亚洲综合二区| 国产馆在线观看| 日韩欧美国产一区二区三区| 都市激情国产精品| 日本亚洲欧洲精品| 久久国产生活片100| 久久一区二区三| 精品视频www| 日韩三级一区| 国产va亚洲va在线va| 91在线国内视频| 中文字幕在线2018| 欧美成人精品在线观看| 激情小说一区| 免费看黄色一级大片| 最新久久zyz资源站| 日韩一级片免费观看| 国产成人鲁鲁免费视频a| 91精品天堂福利在线观看| 国产日韩视频一区| 欧美午夜在线一二页| 91国内在线| 日本最新一区二区三区视频观看| 激情偷乱视频一区二区三区| 国产午夜久久久| 在线观看视频99| 草草视频在线一区二区| 日韩中文字幕免费在线| 亚洲精品国产无套在线观| 深夜福利视频在线免费观看| 国产在线观看不卡| 亚洲综合精品四区| 五月婷婷一区二区| 亚洲视频在线看| 精品综合久久88少妇激情| 污视频网址在线观看| 欧美日韩一区二区在线播放| 含羞草www国产在线视频|