表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

140/210

ソースコードの見直し(整理)の必要性

前回で、外部シナリオデータの取り込みも目途がつきました。


外部データの取得:ionic, angular(RxJS), JSONP サンプル

https://ncode.syosetu.com/n5283hn/139/


これの意味するところは、どこかのサーバにテキストファイルを置く事さえできれば、サーバ側の仕組み(あれば便利ではありますが)無しでも、他の人に作ったシナリオを読んでもらえるという事です。


そのような大きな進展があったので、ゲームブックアプリ開発も気合を入れたいところではあるのですが、改めてソースコードを見るとかなり見づらい。


外部データの取り込みの少し前に、固定文字列を外部JSONに移した訳ですが、関数の大部分(現在、データ整合性チェックのみを外部ファイルに定義している)も外部に移す事を推し進める必要がありそうです。

(リアルの部屋の整理とかしない私ではありますが、機能追加や修正などのメンテナンスを考えると早めにやるべき作業です)


いまだionicと言うものを未だに理解しているとは言えませんが、"home.page.ts"内に無いと困るものと外に出しても大丈夫なものを切り分けて見たいと思います。


無いと困るもの

"home.page.html"とバインディングされている変数および関数


多分、外部に出せるもの

上記以外


それ以外にも出せるけれど出さない方が面倒がない物もあるかもしれません。


"home.page.ts"が1万行とか超える前に、まず整理してみたいと思います。

(まだ外部に移したデータチェックを入れても2000行くらいですが、際限なく増えると思った方が良いです)


"home.page.html"は・・・やれない事はないかもしれませんが、多分、バグの原因になると予想しますので現状維持にして置きます。


追記

色々調べたりテストコードを書いたりしましたが、現在の理解でやるとおそらく対応できない問題に直面する気がします。


スコープやらimportの知識があやふやすぎますので、今後、可能ならという方針に転換します。


ただし固定文字列については、外部にJSONで持たせたのはうまく行ったと思います。

(使用場所や使用方法によりキーの階層で分けたので判りやすくなったと思います)

------------------------------------------

import t_fix from 'src/assets/text.json';

中略

export class HomePage {

//固定文字列全般

t_fix = JSON.parse(JSON.stringify(t_fix));

------------------------------------------

同じ名前で内部変数にコピーしたので、"home.page.html"でも内部関数でもthis.を使わず書けるのは良かった気もします。(値の変更が無いので安心してできた訳ですが)

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ