1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPGLE FreeとRPGIV2FREEの比較

1
Posted at

はじめに

本記事は、VSCodeにおけるRPG IVからFF RPG(フリーフォーマット)への変換ツール「RPGLE Free」と「RPGIV2FREE」について、それぞれの調査結果を踏まえた比較と、開発者が取るべき具体的な行動指針をまとめたものです。

1. 共通する仕様と大前提(同じところ)

どちらのツールを採用した場合でも、以下の仕様や前提は共通しています。

  • 実行方法の基本操作: どちらもVSCode上で変換したい範囲を選択し、コンテキストメニュー等から変換を実行するという直感的な操作感は同じです。
  • 完全な自動変換ではない: どちらも数クリックだけで全てが問題なく変換され動作する、魔法のようなツールではありません12。
  • 手直しと検証が必須: バグの有無に関わらず、ツールの変換特性を理解し、開発者が都度手直しを行うことが大前提となります12。

2. ツールごとの明確な差異(違うところ)

両者は「変換機能のカバー範囲」と「サポート対象外の記述に遭遇した際の挙動(バグの出方)」に明確な違いがあります。

コンセプトと機能の差

  • RPGLE Free: 非常にシンプルで軽量なツールです。複雑な設定がなく手軽ですが、コードフォーマッターや固定形式の編集支援機能は備わっていません。
  • RPGIV2FREE: H/F/D/C仕様書の幅広い変換に対応し、フリーフォーマット専用のフォーマッターが内蔵されています2。また、固定形式のままのコードに対してもスマートタブなどの編集支援機能を提供します。

変換特性(エラー・バグの出方)の差

ここが開発者にとって最も注意すべき違いです。

  • RPGLE Free(変換を諦めて残す): MOVE系やGOTOなどのサポート外の命令に遭遇した場合、変換を諦めて元の固定形式のままコードを残します1。これにより 「コンパイルエラー」 となるため、エラー箇所が明確で気づきやすいという特徴があります。
  • RPGIV2FREE(強引に変換して論理を壊す): MOVEを単純な代入演算子(=)に置換して「右詰め」特性を喪失させたり2、GOTOに対してダミーループを生成して元のネスト構造を破壊したりします2。これにより、コンパイルは通るものの 「実行時バグ(データの消失や無限ループなど)」 を引き起こす危険性があり、バグの発見が難しくなります2。

3. 結論:どう行動すべきか(今後の指針)

前述の比較を踏まえ、開発現場では以下の指針に沿って行動することをおすすめします。

指針①:まずは「RPGIV2FREE」をベース環境として導入する

変換精度のみならず、日々のコーディング(特にまだ固定形式のまま保守しなければならないコード)に対する補助機能が優秀なため、まずは多機能な「RPGIV2FREE」を導入して開発効率を高めることをおすすめします。もし機能過多で使いづらいと感じた場合にのみ、「RPGLE Free」へのダウングレードを検討してください。

指針②:「コンパイルエラー」よりも「実行時バグ」に強く警戒する

「RPGIV2FREE」をメインで使う場合、文字から数値への変換時の空白によるクラッシュや、MOVE変換後の桁ズレなど、実行して初めて気づくバグが混入しやすい特性があります2。変換後はコンパイルが通ったからと安心せず、必ず手動での型キャスト(%editc()や%dec()など)の追記や、動作テストを入念に行ってください2。

指針③:既存資産の「一括変換」は計画しない

OSのコンバートコマンドのような手軽さはありません。1つのプログラムに対する手直し・検証の対応時間が非常にかかるため、既存資産をツールで一括変換するのは現実的ではありません2。
「システムの保守・改修案件が発生したプログラムから、ついでに部分的にフリーフォーマット化していく」といった、段階的で地道なアプローチを計画してください。

  1. RPGLE Freeについて ↩ ↩2 ↩3

  2. RPGIV2FREEについて ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?