名前付けは重要。そんなことはわかってるという人はたくさんいると思います。
でも、中身/内容が同じだったら全部同じ名前でいいと思っていたりしないでしょうか?
細かいことを気にしなければ、確かに中身が同じコード=同じメソッド名、変数名でもいいかもしれません。でもこのブログは 、くそコードが無くなる日を目指している手前、そんな中途半端なことを、やってOK!とは口が裂けても言いません。
具体的にどういうことか、ちょっと例を示しながら説明したいと思います。
TVが付いているという状態を表現したいとします。
特に何も考えないのであれば、
でもこれで問題ないかどうかはXXX次第です。
XXXがLivingRoomだったとします。
ではXXXがTv(テレビ自身)だったらどうでしょう?
つまりTvから見れば、自身がついているときは、自分自身がTvなことは自明なので、
一言でまとめると、「視点の違いで適切な名前は変わる」ということです。
こういった名前付けはメソッドでも同じです。
是非気をつけてみてください。
でも、中身/内容が同じだったら全部同じ名前でいいと思っていたりしないでしょうか?
細かいことを気にしなければ、確かに中身が同じコード=同じメソッド名、変数名でもいいかもしれません。でもこのブログは 、くそコードが無くなる日を目指している手前、そんな中途半端なことを、やってOK!とは口が裂けても言いません。
具体的にどういうことか、ちょっと例を示しながら説明したいと思います。
TVが付いているという状態を表現したいとします。
特に何も考えないのであれば、
public class XXX { ... boolean mIsTvOn = true; }のようにするわけです。良さそうに見えます。
でもこれで問題ないかどうかはXXX次第です。
XXXがLivingRoomだったとします。
public class LivingRoom { ... boolean mIsTvOn = true; }リビングのテレビがついている。至って自然です。
ではXXXがTv(テレビ自身)だったらどうでしょう?
public class Tv { ... boolean mIsTvOn = true; // Tv自身がついている?それとも別のTvがついている? }少し混乱します。「TVがついている」という状態は、文章でみると無意識的に想像して、表現が同じになりそうですが、実際は誰から見るかで、表現のされ方が変わらなければいけないとわかります。
つまりTvから見れば、自身がついているときは、自分自身がTvなことは自明なので、
public class Tv { ... boolean mIsTurnedOn = true; // Tv自身がついている }とすべきといえます。
一言でまとめると、「視点の違いで適切な名前は変わる」ということです。
こういった名前付けはメソッドでも同じです。
是非気をつけてみてください。
コメント