{"text_format":"3","workbook":"xls","n_sheets":3,"sheets":["アプリ概要","シーケンス図","コーディング_レビュー票"],"not_rendered":{"images":89,"external_links":1,"defined_names":1},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"アプリ概要","index":0,"n_rows":40,"n_cols":23,"rows_kept":40,"flags":["formulas_cached_only"]}
[]
[null,"作成するアプリの概要"]
[]
[null,"◆全国医療機関の医療体制状況把握マップ"]
[null,"→アプリ使用者が感染症や病気により医療機関の受診をしたい場合、近隣の医療機関が外来受付しているかどうかを確認できる"]
[]
[null,"◆使用するAPI"]
[null,"https://opendata.corona.go.jp/api/covid19DailySurvey"]
[null,"上記にパラメータとして都道府県情報を与えると、その都道府県の医療体制状況がJSON形式で返却される"]
[]
[null,"◆アプリ詳細"]
[null,"・GPSから現在地の都道府県を取得し、現在地と近隣の医療機関の場所を表示する"]
[null,"・プルダウンで他の都道府県の情報も表示する"]
[null,"・医療提供状況はGoogleマップに5段階表示で色分け表示する(①通常、②制限、③停止、④外来受け入れなし、⑤未回答(前日の情報なし))"]
[null,"・マップ上のピンを選択すると、病院名、住所、電話番号を表示する"]
[]
[null,"◆アプリ画面遷移(イメージ)"]
[null,"①GPSから現在地と病院の所在地を表示",{"$nulls":6},"②プルダウンで都道府県を選択",{"$nulls":6},"③選択した都道府県に移動",{"$nulls":6},"④ピンを選択すると病院情報を表示"]
{"$rows_empty":16}
[null,null,"現在地"]
[null,null,"通常"]
[null,null,"制限"]
[null,null,"停止"]
[null,null,"外来受け入れなし"]
[null,null,"未回答(前日の情報なし)"]

{"sheet":"シーケンス図","index":1,"n_rows":0,"n_cols":0,"rows_kept":0,"flags":["formulas_cached_only"]}

{"sheet":"コーディング_レビュー票","index":2,"n_rows":26,"n_cols":9,"rows_kept":26,"merged":[[0,1,0,8],[1,1,1,2],[1,3,1,5],[1,7,1,8],[2,1,2,2],[2,3,2,5],[2,7,2,8]],"flags":["formulas_cached_only"]}
[null,"レビュー票"]
[null,"レビュー対象物",{"$nulls":4},"開催日時"]
[null,"レビュー参加者",{"$nulls":4},"実施時間"]
[]
[null,"NO　","問題","対応方法","エラー内容","重要度","エラー原因","修正日付","修正確認者"]
[null,1,"全体的に、try-catchのケアが不足しています"]
[null,2,"全体的に、ifに対するelseの考慮が不足しています"]
[null,3,"Communication\nHOSPITAL_API_SCHEMEとかPREFECTURES_API_SCHEMEが同じ文字列です。同じ文字列で同じ系統のものは、統一してください"]
[null,4,"Communication\nPJApplicationクラスの変数名をmApplicationManagerとしていますが、名前のつけかたがおかしいです。PJApplicationクラスはApplicationクラスを継承したクラスであるため、ApplicationManager（アプリ管理者）というような役割ではありません"]
[null,5,"Communication\nJson_init_valとかIconColor_init_valは定数に見えます。Finalにしたほうがよいかと思います"]
[null,6,"Communication.executeByConcurrentExecutor\nwhile (isGetPrefectureName){}が、単体で見るとここでずっと止まる処理に見えます。基本的に永久ループする可能性のある処理はやらないほうがいいです"]
[null,7,"Communication.executeByConcurrentExecutor\njsonDataはRunの中で作成してもよいのでは"]
[null,8,"Communication.executeByConcurrentExecutor\n考え方として、executeByConcurrentExecutorはその名前の通りであるべきです。オブジェクト指向としての考え方としては「Communication（通信）」クラスの「execute(実行)」「Concurrent(同時)」「Executor(実行する人)」なんで、直訳してみると、なんか、分からんです。和名の通り、reqHospitalInfoとかだと、「Communication（通信）」クラスの「req（要求）」「Hospital（病院）」「Info（情報）」になるので、メソッド名から何するかがなんとなく分かる。そんな感じです。※なお、この名前の場合、Handler経由で何かするのってちょっとなって思ってしまいますが別件なのでまずは名前の変更をお願いします"]
[null,9,"Communication.JsonAnalysis\nメソッド名の先頭は動詞にしましょう"]
[null,10,"Communication.JsonAnalysis\ntry-catchに入った場合の検討がされていない気がします"]
[null,11,"Communication.JsonAnalysis\nメソッド名に準じた動作をさせるようにしたほうがいいです。この場合だと、「貰ったJsonを」「解析する」だけのメソッドです。どうにもカメラの移動ですとか、Josnの値によって処理する部分も記載しているように見えますがこの処理はJsonの解析処理とは関係ないので別のところにもっていくほうがいいです"]
[null,12,"Communication.JsonAnalysis\nmApplicationManager.isFirst()というモノが、翻訳するとよくわからなくなります。「アプリ管理者が最初かどうか」という風に見えてしまいます"]
[null,13,"FileIO\nコメントでファイル読み込みクラスとありますが、IOはInputOutputなので、読み書きを表しています・・・・"]
[null,14,"FileIO.readPrefectureFile\ninputStreamReaderがcloseされていません"]
[null,15,"FileIO.readPrefectureFile\ncloseとかはfinallyでやったほうが無難です"]
[null,16,"FileIO.readPrefectureFile\nRowDataの配列が4つあることが前提になっています。事前にlengthをチェックしたほうがいいです"]
[null,17,"Position.getDeviceLocation\nネストが深すぎます・・"]
[null,18,"Prefecture\nコメントあったほうがいいとおもいます"]
[null,19,"MapsActivity.getLocationPermission\n多分このメソッドは、パーミッション許可されていない場合はfalseで、許可されているのであればtrueで返却するべきメソッドな気がします"]
[null,20,"MapsActivity.onCreate\nPJApplicationをnewしていますが、本クラスはApplicationクラスを継承しているため、本来論としてはnewすべきものではないと感じます。そもそもこのクラス(PJApplication)はApplicationクラスを継承しないでもよいのではないでしょうか？"]
[null,21,"MapsActivity.onCreate\nパーミッションチェックに失敗した場合、後続処理はするべきではないと思います"]