Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ドキュメントとテストを対応関係にする #438

Open
FineArchs opened this issue Oct 24, 2023 · 6 comments
Open

ドキュメントとテストを対応関係にする #438

FineArchs opened this issue Oct 24, 2023 · 6 comments
Assignees

Comments

@FineArchs
Copy link
Member

FineArchs commented Oct 24, 2023

ドキュメントファイル(.md)とテストコード(.ts)を、それぞれお互いに同名の対応するファイルがあるようにしたいと考えています。

// 例
doc/
  get-started.md, syntax.md, std.md, std-math.md, primitive-props.md
  parser/
    scanner.md

test/
  get-started.ts, syntax.ts, std.ts, std-math.ts, primitive-props.ts, parser.ts
  // パーサーのドキュメント・テストはひとまず現状維持とする

Pros

  • テストが探しやすくなる。
  • 足りていないテストを確認しやすくなる。

Cons

  • ややテスト時間が伸びる?
  • ややメンテナンスコストが上がる?
@marihachi
Copy link
Contributor

marihachi commented Nov 10, 2023

基本的には仕様に対してテストをするようにしたいですね。
ただ、仕様と関係のない実装に対するテストがあるかも知れないので、そのテストはドキュメントと対応してこないかなと思います。

@marihachi
Copy link
Contributor

ドキュメントにもいろいろ種類があると思っています。
テストと対応させるのは、言語仕様のドキュメントが良いかと思います。
機能や構文を説明するドキュメントには、詳細な仕様は書けないと思うので。

@FineArchs
Copy link
Member Author

ドキュメントを説明用と仕様制定用に分ける感じですね。
説明用の方にもテストを用意することにもメリットがあると考えていますが(仕様変更時にドキュメントの書き換えが必要な箇所をテストで検知出来る)、少なくとも後回しになりますね

@salano-ym salano-ym added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Feb 17, 2024
@takejohn
Copy link
Contributor

これdoctestみたいにMarkdown内のコードブロックをAiScriptとして実行できたら便利そうですね
Markdownのパーサを使用してコードブロックを抽出したり、AiScriptにassert関数を追加したりしたらいい感じにできそう

@FineArchs
Copy link
Member Author

求:いい感じのMarkdownパーサ

related?: #804

@uzmoi
Copy link
Member

uzmoi commented Oct 27, 2024

vitepress なら markdown-it で starlight なら unified/remark 使ってるのでサイトジェネレータと同じものを使うとよいと思います。
サイトの中だとそれを使うことになるので。

あと、ユーザーが読むことを考慮するなら https://github.com/azu/power-doctest のように1 + 1 // => 2みたいな書き方ができると読みやすいかなと思いました。

@takejohn takejohn self-assigned this Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants