パラメータのプロパティ渡しについて考察
Life is beautiful で興味深いエントリがあがっていたので反応してみたいと思います。
引数に数字が並ぶと何がなんだか分からなくなるのは確かにそうなのですが、開発環境によってはメソッド定義先でどういう変数名で受け取っているのか、型は何なのか、デフォルト引数は設定されているのかがコーディング時に全て分かります。
これをプロパティ渡しでやってしまうと、変数名はまだ分かるのですが型やデフォルト引数がわからなくなってしまうというデメリットが生じます。
型については識別可能なように変数名を付ければ問題ありませんが、デフォルト引数についてはコメントで補足しないとどうしようもありません。
下記みたいにプロパティ渡しでもデフォルト引数が渡せれば最強なんですが、サポートされてないのでどうしようもないですね。
function hoge({a:String="aaa",b:uint=0xffffff}:Object):void {
// ほげほげ
}
それから引数に関して前々から気になっているのが、定数とデフォルト引数について。
コーディングしている時にオートコンプリートでデフォルト引数値が表示されるのはとても便利なのですが、このデフォルト引数値に数値や文字列ではなく定数を設定していると生真面目に定数名を表示してくれるおかげでたまに面倒なことがあります。
constで宣言されている場合には値も表示してくれればどんだけー
プロパティ渡しについては実は2年前にやっていたブログで書いたことがあったので、ちょっと切ない気持ちになりましたw
でもあれから環境も変わり、上記のような開発環境によるメリットデメリットを改めて考察することができたのでいい機会になったと思います。


