前提・実現したいこと
UnityにてC#プログラミングの勉強をしています。
練習問題のようなものを出題され、自分で考えて書いてみたら結果は同じだったのですがコードが違いました。
私の方がメソッドが一つ多いので、良くなさそうというのはなんとなく分かります。
しかし、私はいまだ勉強中のため、大きなプロジェクトを作った経験がなく、この一見小さな違いが後々どう影響してくるのかが分かりません。
そこで、質問なのですが、この違いが後々どのように影響してきますか?
また、プログラミングはどのような形を目指していけば良いのですか?(例えば、同じことを書かない、メソッドは少なく等)
発生している問題
プログラミングの書き方を学んでいる最中だが、最終的にどのような形を目指していけば良いのか知らないことに気づいた。
より簡潔に、よりシンプルに、というのを目指していく事はなんとなく聞いたことがあるが、それがどんな形かは知らない。
該当のソースコード
C#
1//私の書いたもの 2public class Main : MonoBehaviour 3{ 4 public delegate void Teleport(); 5 public static event Teleport onTeleport; 6 7 public void Teleporting() 8 { 9 if (onTeleport != null) 10 { 11 onTeleport(); 12 } 13 } 14 15 private void Update() 16 { 17 if (Input.GetKeyDown(KeyCode.Space)) 18 { 19 Teleporting(); 20 } 21 } 22}
C#
1//私が書いたもの 2public class Cube : MonoBehaviour 3{ 4 private void Start() 5 { 6 Main.onTeleport += ChangePosition; 7 } 8 9 public void ChangePosition() 10 { 11 GetComponent<Transform>().position = new Vector3(5, 2, 0); 12 } 13}
C#
1//公式の答え 2public class Main : MonoBehaviour 3{ 4 public delegate void Teleport(Vector3 pos); 5 public static event Teleport onTeleport; 6 7 private void Update() 8 { 9 if (Input.GetKeyDown(KeyCode.Space)) 10 { 11 if (onTeleport != null) 12 { 13 Vector3 pos = new Vector3(5,2,0); 14 onTeleport(pos); 15 } 16 17 } 18 } 19}
C#
1//公式の答え 2public class Cube : MonoBehaviour 3{ 4 private void Start() 5 { 6 Main.onTeleport += ChangePosition; 7 } 8 9 public void ChangePosition(Vector3 pos) 10 { 11 transform.position = pos; 12 } 13}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。