i-school - 同じ処理の置き換え事例
 プログラムには処理の記法が数種類用意されているものがあります。
そのため、ネット検索して見つけたサイトによっては、自分の知っている書式とは異なるケースも多々あります。

 そういった場合には、処理を読み解き、自分の知っている内容に置き換えることで理解していくようにしてみましょう。



 この例では、特定のテキストメッセージをUIのText要素に追加表示するという機能で解説します。

 同じ処理であるものの、ソースコードの内容が異なります



1.パターン1


<= クリックすると開きます。


 ここでは、txtDebugという名前のprivateなText型の変数が定義されています。これは、Unityエディタ上で指定できるSerializeFieldとなっています。

 DisplayLogというpublicなメソッドがあり、引数にはstring型のmessageを取ります。
このメソッドが呼び出されると、txtDebugの既存のテキストに引数で受け取ったmessageを追加します。

 \nは改行を意味し、次に追加されるメッセージは新しい行から始まることを保証します。


2.パターン2


 このコードでは文字列補間($"{text}\r\n")を使っています。


<= クリックすると開きます。


 このコードでも、最初のコードと同様にprivateなText型の変数messageが定義されています。
しかし、メソッドの名前や引数の名前、アクセス修飾子が異なります。

 AddMessageというprivateなメソッドは、引数にstring型のtextを取ります。
このメソッドが呼び出されると、messageの既存のテキストに引数で受け取ったtextを追加します。

 ここでも\r\n(キャリッジリターンと改行)を用いて新しい行から次のメッセージが始まるようにしています。


3.パターン3



<= クリックすると開きます。


 このコードは、最初のコードとほぼ同じですが、AddMessageメソッドのアクセス修飾子がprivateになっています。
これは、このメソッドが同じクラス内部からしか呼び出せないことを意味します。

 それ以外の点では、最初のコードと同じように動作します。


まとめ


 これらのコードは基本的に同じ機能を持ち、あるメッセージを特定のUIテキスト要素に追加するという機能を実装しています。
しかし、それぞれのコードは変数の名前やメソッドの名前、アクセス修飾子など、一部の詳細が異なります。

 このような違いは、コードを書く人のスタイルや、コードがどのようなコンテキストで使用されるかによるものです。
例えば、メソッドがpublicかprivateかは、そのメソッドがどの範囲からアクセス可能であるべきかによって決まります。
publicなメソッドはどこからでもアクセス可能ですが、privateなメソッドはそのメソッドが定義されているクラス内からのみアクセス可能です。

 変数やメソッドの名前も、その機能を明確に表すものであることが望ましいです。
また、コード内で一貫性を持つことで、他の人がそのコードを読んだときに理解しやすくなります

 最後に、メッセージを追加するときの書式(message + "\n" vs. $"{text}\r\n")も、個々のプログラマの好みによる部分があります。
どちらも同じ結果をもたらしますが、文字列補間を使用するとコードが読みやすくなることがあります。

 以上のような理由から、同じ機能を持つコードでもその書き方はさまざまになります
そのため、あるコードを見つけたときには、そのコードが何をしているのかを理解し、自分の知識と結びつけることが重要です。