回答編集履歴

1

修正

2017/10/30 07:56

投稿

masaya_ohashi
masaya_ohashi

スコア9206

test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
  ```
132
132
 
133
- さてAさんはprocAを実行したときにどう思うでしょう。「procAって名前なのにglobalCを書き換えてんじゃねぇよ!」とキレるでしょう。最悪AさんはglobalCが書き換わっていることに気付きません。このまま作業が進んでいくと、間違いなくバグの温床になります。関数だけで実装を行う場合、「関連付けがはっきりしていない」ことが致命的なバグを生むことが考えられます。
133
+ さてAさんはprocAを実行したときにどう思うでしょう。「procAって名前なのにglobalCを書き換えてんじゃねぇよ!」とキレるでしょう。最悪AさんはglobalCが書き換わっていることに気付きません。このまま作業が進んでいくと、間違いなくバグの温床になります。関数だけで実装を行う場合、「関連付けがはっきりしていない」ことが致命的なバグを生むことが考えられます。オブジェクト指向の無い世界では、Bさんのように雰囲気や暗黙の了解を無視して**「影響を及ぼす範囲を無視しためちゃくちゃな実装が言語的には許されている」**ことが問題なのです。これは「故意」であれ「過失」であれ同じ問題です。うっかり「変数名の打ち間違い」で全く関係ないグローバルな変数を書き換えてしまう事故も考えられます。
134
134
 
135
135
 
136
136