自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

寫個取代自己的工具:Coco —— 自動化項目分析與建議

開發(fā) 開發(fā)工具 自動化
在 Coco 的 README ( https://github.com/phodal/coco )里,可以看到現(xiàn)在規(guī)劃的 1.0 的相關的 Todo 列表。從某種意義上來說,這是一個 AI 工具(專家系統(tǒng)),它依賴于資深工程師的大量的經(jīng)驗。

[[377072]]

 作為一個資深的軟件工程師,我經(jīng)常遇到其他/她開發(fā)人員大量的重復問題。過去只靠寫博客,現(xiàn)在,我有了四種方式來解決:

  • 博客。我的博客 phodal.com 上有 850+ 的博客
  • 工具。創(chuàng)造開源工具解決重復性問題,如:ADR、Lemonj、Coca、Clij
  • 開源電子書。系統(tǒng)性的歸納某一個領域相關實踐和模式,如:《Serverless 應用架構》
  • 知識平臺。結合工具和電子書,如 DevOps 知識平臺:Ledge

即使如此,依舊沒有解決一個問題:我需要人力來分析項目、再拋出這些鏈接。于是,過去我一直就在想:能否做一個工具來取代自己? 當然了,我的真實意思不是:取代我自己,而是取代我做的那些重復性活動。(PS:等寫完之后,再寫一個自動化寫 PPT 的工具,就完美了。)

所以,我開始編寫一個新的工具,一個關于對代碼進行自動化分析與建議的工具。

Coco:自動化分析與建議工具

在 Coco 的 README ( https://github.com/phodal/coco )里,可以看到現(xiàn)在規(guī)劃的 1.0 的相關的 Todo 列表。從某種意義上來說,這是一個 AI 工具(專家系統(tǒng)),它依賴于資深工程師的大量的經(jīng)驗。它的難度主要在于:

  • 工具的 MVP 版本。驗證工具在技術上是可行的(PS:從我的角度來看,它并不存在問題)
  • 持續(xù)性的經(jīng)驗輸入。持續(xù)完善整個工具的建議體系和架構
  • 上下游生態(tài)完善。獲取上下游工具相關的資料和數(shù)據(jù)(PS:如 DevOps、云原生相關)
  • 避免功能膨脹。必要的情況下,通過插件的方式來擴展功能

Coco 與 Coca 的關系

Coca 是筆者(@phodal)寫的一個用于系統(tǒng)重構、系統(tǒng)遷移和系統(tǒng)分析的瑞士軍刀。它可以分析代碼中的測試壞味道、模塊化分析、行數(shù)統(tǒng)計、分析調用與依賴、Git 分析以及自動化重構等。

Coco 這個名字的來源是椰子雞,正如 Coca 項目(https://github.com/phodal/coca )的來源是 Coca Cola,只是維度上由喝的變成吃的而已。Coco 是 Coca 的姊妹工具,與 Coca 工具是相互補充。

Coco:自動化分析與建議工具

Coco 要實現(xiàn)的主要功能是:

  • 分析。對項目進行全面化的分析,如 Git 歷史、模塊化分析、框架使用等
  • 報告。以可視化和文檔的形式輸出項目的總覽信息(結合 D3 可視化的形式)
  • 建議。針對于項目中的問題,進行自動化的建議
  • 成熟度。(TBC,待定)

從里程碑來說,我們所要做的功能特別多。而結合 Coca 和 DevOps 知識平臺 Ledge 在開源社區(qū)經(jīng)受了一年多的洗禮,它們受到了越來越多的開發(fā)者的喜愛。與此同時,在這一年多的時間里,我也將自己的經(jīng)驗不斷也輸入到了項目中。

與此同時,我們將先創(chuàng)建一個組織:Inherd,作為這一系列工具的核心團隊。

Coco 技術棧

作為一個 CLI 工具,我本該選取 Golang 作為主要技術棧的。但是,經(jīng)常與 Ledge 的開發(fā)者們討論一番后,大家決定使用 Rust(雖然大部分人都沒有經(jīng)驗)作為主要語言。與此同時,作為一個已經(jīng)使用了一年的 Rust 語言的開發(fā)者,我覺得這并不是太大的難題。與此同時,這個工具未來也將在瀏覽器上運行,Rust 的 Web Assembly 支持比幾大主流語言友好。

除了 Rust 之外,我們還需要可視化相關的報告等,為此我們還需要前端相關技術棧的開發(fā),如 D3.js。當然了,能結合 Web Assembly + D3.js + 其它框架也是一個不錯選項。

Coco 進度

對于寫一個工具來說,最難的是開個頭,隨后就是補充功能和重構了,誰都能做。

當前主要進展:

  • 使用 libgit2 實現(xiàn)對 Git 相關的分析中。
  • 集成 Tokei 實現(xiàn) CLOC 相關的行數(shù)統(tǒng)計。
  • 集成 Scie 的框架檢測功能,對技術棧進行可視化

以下主要模塊還未開始:

  • 模塊化分析
  • 可視化報告
  • 標簽生成(AI,分詞)
  • 改進建議
  • 工具建議

本文轉載自微信公眾號「phodal」,可以通過以下二維碼關注。轉載本文請聯(lián)系phodal公眾號。

 

責任編輯:武曉燕 來源: phodal
相關推薦

2022-02-21 11:24:14

代碼工具開發(fā)

2009-11-05 08:46:10

WCF與ExtJs

2011-12-23 17:09:57

自動化測試

2021-09-07 09:00:00

開發(fā)測試工具

2018-05-04 14:00:24

2022-02-04 21:50:37

網(wǎng)絡安全自動化

2023-09-18 12:50:06

2013-07-02 10:45:38

2022-01-21 08:55:00

云計算DevOps自動化

2016-12-05 15:48:37

2020-12-01 07:01:41

CSS工具重構

2009-04-26 16:16:03

2023-04-14 10:27:34

人工智能自動化

2014-11-12 09:24:00

2017-12-17 21:58:18

2021-06-11 10:15:15

自動化人工智能AI

2012-12-24 22:54:31

2014-09-22 11:24:18

運維

2011-09-01 10:05:24

PhoneGap應用程序測試

2011-11-18 09:11:21

Web
點贊
收藏

51CTO技術棧公眾號