Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

:recycle: Separate Simulation, Debugging and Diagnostics concerns further

オープン
#6 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
リファクタリング
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
cpp
領域
devtools

調査の方向性

まず、既存の debug.h と diagnostics.h のインターフェースを追跡します。特に、どの診断フィールドが DDSimulationState に存在し、どのメソッドが DDDiagnostics にあるかを確認します。提案されている simulation.h の責務と、step-forward および getCurrentInstruction がどのように高レベルの操作をサポートできるかを整理します。3 つのインターフェースとそれらの DD 実装が、OpenQASM への結合を最小限にして分離されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

c++ enhancement
What's the problem this feature will solve?

Currently, the debugging backend is separated into two interfaces:
debug.h and diagnostics.h. However, this separation is not perfect.

  • For the DD implementation in particular, many diagnostics concerns are still stored in the DDSimulationState and only the actual methods and functionalities are located in DDDiagnostics. These fields should be moved

Furthermore, a third simulation interface would make sense. Currently, if we want to change to a new simulation backend, a large number of different functions have to be re-implemented, even though they can be expressed through different functions. For instance, all the "step over", "step out", "run simulation" functions can be expressed using just the "step forward" method and "getCurrentInstruction". It would be nice to separate these so that changing the simulation backend only requires a few functions to be changed.

Describe the solution you'd like

Three interfaces:

  • debug.h: Contains debugging-related functions, like checking assertions, running up to specific points in the code, or getting the stack trace
  • simulation.h: Only contains low-level simulation features, like stepping forward, backward, etc.
  • diagnostics.h: Contains all functions related to analysing the program.

Their DD-based implementations should also be separated more clearly, and, if possibly, with only minimal coupling to the actual language used (such as OpenQASM)

主要言語
C++
スター
21
フォーク
8
平均マージ
5時間 17分
マージ済み PR(30日)
21

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

munich-quantum-toolkit/debugger のほかの issue

munich-quantum-toolkit/debugger の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。