技術士第一次試験 専門科目情報工学部門 R06

問題 20 / 35

出典: 令和6年度技術士第一次試験問題[専門科目情報工学部門] III-20

次のソースコードはC言語で書かれたプログラムの一部である。レビューにて「プログラム中のモジュールAとBの関係性は低いため、結合関係を弱くするリファクタリングをすべき」と指摘があった。レビューの結果を反映するために、最も適切な修正案はどれか。

問題画像
s_time 構造体とe_time 構造体は類似するため、1つの構造体へと統合し, c_minutes 関数の仮引数を構造体1つだけにする。
malloc 関数は性能が低下する可能性があるため、一定のメモリ領域を一度に確保することで頻繁にmalloc関数が呼び出されない custom_malloc 関数をモジュールBで作成する。
c_minutes 関数の引数を基本データ型のみに修正する。
extern文を用いて s_time 構造体とe_time 構造体をグローバル変数にする。
time 構造体とe_time 構造体のメンバ変数idは c_minutes 関数で利用されていないため、メンバ変数から削除する。

当サイトでは、ユーザー体験の向上を目的としてCookieを使用しています。サイトの利用を継続することで、Cookieの使用に同意したものとみなされます。