最近想整理以前 C++ 寫過的東西來尋找熱情,先試試把很片段的小東西轉出來使用,這次純靠 claude.ai 做了滿多事,包括 README.md, CHANGELOG.md, example 和 test 都是他寫的 XD 剛好把最懶散的部分都給搞定了,因此 example 和 test 裡頭都會有簡體中文,甚至 README 一開始也給簡中版,只好請他給予英文版即可
整個過程大概不用兩個小時,非常舒服,花比較多的時間是請他把工具規劃成 library 的過程,claude ai 提了不少建議,但我也打槍他,最終有了現況的產出,這時真的感受到 AI 輔助的有趣的地方,還會提供一些觀點,像是 Flutter 他有多種平台,有些平台不適合 io 操作,這時會收到一些 AI 給予的建議,調整一些實作方向。
其中 pub.dev 發布過程還不太熟悉,參考官網 dart.dev.org.tw/tools/pub/publishing 先用指令:
```big5_utf8_converter_dart % dart pub publish --dry-runResolving dependencies...Downloading packages..._fe_analyzer_shared 73.0.0 (74.0.0 available)analyzer 6.8.0 (6.9.0 available)macros 0.1.2-main.4 (0.1.3-main.0 available)Got dependencies!3 packages have newer versions incompatible with dependency constraints.Try `dart pub outdated` for more information.Publishing big5_utf8_converter 1.0.0 to https://pub.dev:├── CHANGELOG.md (<1 KB)├── LICENSE (1 KB)├── README.md (2 KB)├── assets│ └── big5_to_utf8_lookup.bin (64 KB)├── bin2dart.dart (<1 KB)├── example│ ├── big5_utf8_converter_example.dart (<1 KB)│ └── big5_utf8_converter_load_table_example.dart (1 KB)├── lib│ ├── big5_utf8_converter.dart (<1 KB)│ └── src│ ├── big5_to_utf8_lookup_data.dart (260 KB)│ └── big5_utf8_converter.dart (1 KB)├── pubspec.yaml (<1 KB)└── test└── big5_decoder_test.dart (2 KB)Total compressed archive size: 98 KB.The server may enforce additional checks.Package has 0 warnings.```
接著才使用 Github Actions 來做事,僅需使用 Github Actions 預設的 Dart 就會幫跑 test case:
```jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603- name: Install dependenciesrun: dart pub get- name: Analyze project sourcerun: dart analyze- name: Run testsrun: dart test```
最後,更新 README.md 增加圖標令牌:
[![pub package](https://img.shields.io/pub/v/big5_utf8_converter.svg)](https://pub.dev/packages/big5_utf8_converter)[![Build Status](https://github.com/changyy/big5_utf8_converter_dart/workflows/Dart/badge.svg)](https://github.com/changyy/big5_utf8_converter_dart/actions)
收工!
沒有留言:
張貼留言