forked from scratchfoundation/scratch-gui
-
-
Notifications
You must be signed in to change notification settings - Fork 16
Closed
Description
Refactor RubyToBlocksConverter to use register pattern consistently
概要 (Summary)
RubyToBlocksConverterの実装方式を統一するため、古いonSend
パターンを使用しているファイルを新しいregister
パターンに変更する。
現状 (Current State)
新しい形式(register
関数を使用)- 変更不要
- control.js (混在しているため要クリーンアップ)
- mesh.js
- event.js
- wedo2.js
- microbit.js
- video.js
- microbit_more.js
- text2speech.js
- koshien.js
古い形式(onSend
関数を使用)- 変更対象
- boost.js
- variables.js
- looks.js
- translate.js
- sound.js
- my-blocks.js
- sensing.js
- smalrubot_s1.js
- makeymakey.js
- operators.js
- pen.js
- motion.js
- ev3.js
- music.js
- gdx_for.js
混在形式 - クリーンアップ対象
- control.js (新旧両方の実装が存在)
変更方針 (Refactoring Strategy)
新しいパターンの特徴
const SomeConverter = {
register: function (converter) {
// converter.registerCallMethod を使用してメソッドを登録
converter.registerCallMethod('self', SomeClass, 0, params => {
// ブロック生成ロジック
});
}
};
古いパターンの特徴
const SomeConverter = {
onSend: function (receiver, name, args, rubyBlockArgs, rubyBlock, node) {
// switch文でメソッド名を判定してブロック生成
}
};
作業内容 (Tasks)
- 古い形式の15ファイルを新しい
register
パターンに変換 control.js
から古いonSend
実装を削除- テストを実行して機能が正常に動作することを確認
- リント/型チェックを実行してコード品質を確認
期待される効果 (Expected Benefits)
- コードの一貫性向上
- 保守性の向上
- 新しい実装パターンへの統一
テスト方法 (Testing)
- 既存の統合テストを実行
- 各ブロックカテゴリの変換が正常に動作することを確認
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done