編集部が選ぶ「みんなに見てほしい」イチオシまとめはこちら
2
SSR なめるぽん @melponn
C++ で「auto を積極的に使う派」と「auto をかのうなかぎ使わない派」のそれぞれの主張をまとめたサイトって無いかな
Kenji Nishida @nishiken
僕はコードを読む時の負担が却って増えるときは使わない、かな。RT @melponn: C++ で「auto を積極的に使う派」と「auto をかのうなかぎ使わない派」のそれぞれの主張をまとめたサイトって無いかな
SSR なめるぽん @melponn
自分は auto (C++) や var (C# ) をどんどん積極的に使っていく派。理由は、型よりもそこに生えてる関数に興味があるから。同じ挙動をしてくれるなら型なんて何でもいいと。
👻 道化師 🃏 @wraith13
自分も同じ派だけど自分の場合、その理由はコード表現上の情報量が少なく汎用性の高い表現(コード)になるから。
I @wx257osn2
静的に諸々を解決できないLLと静的に諸々解決できる言語を同じように使うことがそもそも誤りなのでは…
れろすと @rerost
面倒なときはauto使ってる・・・
👻 道化師 🃏 @wraith13
コードが直接的に示す情報量が少ないほうがバグも少なくなる(理屈的にはコード量が多いほどバグが増えるのと一緒)し、汎用性の高い表現である為に似た処理を記述するときのコピペビリティが高くなるしその場合のミスもおのずと減る。
I @wx257osn2
エントロピーの大きいコード
👻 道化師 🃏 @wraith13
でも JavaScript の var は死ね。静的型検査を放棄したすべてのプログラミング言語に死を!
I @wx257osn2
個人的には面倒臭けりゃとりあえずauto使うって感じではあるけど,逆に型を明示したい時とかもあるし,要するに場合によるとしか
I @wx257osn2
「高度な抽象化を体得したプログラマーの書くコードはエントロピーが増大する」
ほっと @hotwatermorning
auto使うと確かにコードは簡潔になるけど、コードの意味を表すアノテーションが減るという側面もあるから、そのコード読むときに自分で推論しなくちゃいけないところが増えてしまって、読む大変さは増える気がする。
👻 道化師 🃏 @wraith13
どんなに有用な情報もそれを必要としない場面ではノイズとなるですよ。
ほっと @hotwatermorning
それはそうだけど、実際人間が情報を受け取る時は多少冗長なくらいの方が理解できるかなって思う
にゃははー仙人 @Flast_RO
型明示しないと推論しないといけない状況って、関数の責任が単一になっていないってことでは〜って思う
にゃははー仙人 @Flast_RO
色んなコトやろうとした結果、何やってるかわからんから変数名とか型でわかるようにしようってことに思える
にゃははー仙人 @Flast_RO
じゃぁ書かなくていいかって言うとまぁ困る場合はあるけど
にゃははー仙人 @Flast_RO
推論された型が必ずしも意図した型にならないことはよくあることで〜
Egtra (ysk-noh) @egtra
https://t.co/uft5vPSLvO IDEが各autoについて常時実際の型を表示すればいいんですよ、だいたい画面右側にそれくらいの空間あるでしょ。
Egtra (ysk-noh) @egtra
たとえそれが実現された未来がやってきたとして、git diffとかで分からんと言われるというオチ。
Egtra (ysk-noh) @egtra
勢いで書いたけど、実際の型というのはきっと難しいんだろうな(C++に限る)、typedefおよびusingエイリアスや、テンプレートあたりで。
uNagi @unagix
auto で受ける時はコメントに型を書くコーディングルールどこかでやってそう。
らいどっと @rydotyosh
「コメントに書いた型をコンパイル時に自動的にチェックしてほしい」
SSR なめるぽん @melponn
コンパイル時にエラーを発見できる言語だけど、書く量も減って、コードはみんな大好きジェネリックになる。auto さん素晴らしい。
残りを読む(14)

コメント

Egtra (ysk-noh) @egtra 2014-05-18 17:33:25
そういえば、auto使いたいのに使えないBoost.Spiritの悲しさ。 http://faithandbrave.hateblo.jp/entry/2014/01/08/213942
Localio Projects @LocalioProjects 2014-05-18 19:22:16
行番号を自動で振ってくれる話かと思ったら違った。
ログインして広告を非表示にする
ログインして広告を非表示にする