arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

引数で与えられたオブジェクトは弄るべきではない

引数で与えられたオブジェクトは弄るべきではないと考えている。

Java の引数はプリミティブ型であれば値渡し、オブジェクトであれば参照渡し。

引数で与えられたオブジェクトを弄る場合について。

自分は、引数で与えられたオブジェクトをイジるのは基本的には可読性が悪くなるのでイヤです。
与えられた値を勝手に差し替えられると、呼び出し元が迷う気がします。

どうしても、引数で与えられたオブジェクトをイジって返したい場合は戻り値にしたいと考えています。
それでも戻り値がすでに使用されているor使用する設計だと、引数で渡されたオブジェクトをイジらなければなりません。
そんな時は、せめてメソッド名に、fill(埋める)とかJavaDocに記述するとか。

引数で与えられたオブジェクトをイジりますよ宣言のようなアノテーションがほしい。

【追記】前にも同じようなことを書いていた。(笑)

関数の参照渡しの引数をいじるのはありか
//arison.jp/blog/2012/02/07/call-of-ref/

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

23. 9月 2013 by arison
Categories: プログラミング | Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください