アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
ほとんど無い (スコア:1, すばらしい洞察)
・インデントはTabで。
・テクニックに走らず、誰が見てもわかりそうな構文で。
・できるだけ省略しないで書いて。
命名規則とかは、今の会社では無いですね。
Re:ほとんど無い (スコア:1, 興味深い)
何をもって「テクニックに走った」と呼ぶか?がまちまちなんで困るんですよね。
例えばRuby畑(の外側)で時々聞く、「RubyのBlockは使わない。イテレータ使わない。for文でやる」という奴。
私は、そんなことしたらRubyのうまみの8割が消し飛ぶ、
(だってそれじゃVBと字面そっくりじゃん。だったら素直にVB使えよ)
つまりRubyにBlockは「必須」だと思うのですが、
あれを「テクニックだ。誰が見ても読めるってわけじゃないから却下」する人らも居るようです。
#宝の持ち腐れだと思うぞー?
#Rubyのうまみは突き詰めればリテラルだろ。正規表現リテラル、(埋め込みが出来る)文字列リテラル、Rangeリテラル、そして関数リテラルもどきのBlock、などなど。
#あとはメタプログラム系かな。
#OOPなんていまどき当たり前なので騒ぐだけ野暮。
Re:ほとんど無い (スコア:2, 興味深い)
> 何をもって「テクニックに走った」と呼ぶか?がまちまちなんで困るんですよね。
これには深い意味があって、
・周りのメンバの力量が計れない人は、チームを組んでもうまくやっていけない
って所の裏返しです。
先に上げた4つの規約も、大雑把にいえば「協調性・思いやりを持ちましょう」程度の事です。
これが無いと、例えずば抜けた能力があってもうまくいかないです。
Re: (スコア:0)
その「メンバ」という考え方のなかに、
(へんな言い方になりますが)言語も、例えばRubyならRubyも、入れてあげるといいんだと思います。
Rubyの力量が計れない人たちなら、Rubyをメンバに入れない(Ruby使わない)ほうがいい、ということです。
逆にいえば、計れないなら計れるようにトレーニングすればいいんだと思います。
人間どうしもそうだし、言語などのツールもそう。
…そういう意味ではXPの「ペアプロ」って合理的だと思います。トレーニングフェーズを織り込み済みなんですよね。
Re: (スコア:0)
Re: (スコア:0)
>これが無いと、例えずば抜けた能力があってもうまくいかないです。
よくよく見ればそれって、ラリーウォール氏が挙げたプログラマの三大美徳に反してますね。
傲慢とか怠惰とかいうあれ。
まあ、出来の良いプログラマと、ほどほどしか出来ない奴*数名と、のどちらがいいかって話なんでしょうね。
プログラムの出来そのものでいえば前者な気はしますが、
大抵の企業は後者を好むようです。
というか「うまくいく」のは職場の雰囲気であって、
肝心の成果物がどうかはまた別みたいな。
#いわゆる雰囲気は良いんだが、みんな「計算機のことを考えるのが嫌い」な連中ばかりで埋め尽くされたプロジェクトにも
#いたことがあるのでAC
#ええ。デスマってましたとも。みんな解決する気まったくなし。
Re: (スコア:0)
>プログラムの出来そのものでいえば前者な気はしますが、
>大抵の企業は後者を好むようです。
それは好んでいるんじゃなくて現実に後者しか選択肢がないだけです
Re: (スコア:0)
あと配列リテラルとHash(辞書)リテラルな。
JavaScriptのJSONなんかもそうだが、
配列と辞書のリテラルがあり、
しかもそれらを好きなだけ入れ子にできて、
しかも面倒な縛りが無い、
ってのは、凄いパワーをもたらす。
たとえばJavaでこれをやると話がややこしくなる。
どうしても異種配列になるから配列の型はObject[]にしかしようが無い。
それじゃ「なんだかなー」なコードにしかならんし、
だいたい型宣言が目障りで読みづらい。型が全く何の本質もあらわしてくれ
Re: (スコア:0)
Javaは知らないんだけど、こういうのってがっつりとGenericとアクセサで記述してもダメな物?
いやLLでのツリー構造データの扱いやすさに比べたら、どう取り繕ってもゴミだろJK、ってのはわかるんだけどさ。
# てか型付けの強い言語なのに.NetFramework2.0になってやっとGenericサポートとかどんだけだよ・・
Re: (スコア:0)
少なくとも、Rubyやjavascriptのように「自由に」からは遠ざかってしまう。
ただ、それはダメなんじゃなくて、強い型のメリットとトレードオフなだけだと思う。
型を作る事で、意味をきちんと表す事は重要なこと。
でも、Ruby使ってるのにわざわざその機能を制限するのはダメ、というか意味不明。
動的言語のメリットを潰して使うくらいなら、強い型の言語で作ればいい。
あと、JavaでXMLが良く使われるのはJavaがコンパイル言語だからでしょうな。
簡単な事に使うなら、動的コンパイルするよりXML使った方が楽だし。
Re: (スコア:0)
各配列(またはList:以下同様)の中身は不ぞろいになる可能性が凄く高いわけですから、
Genericの書きようが無いと思います。
とりあえずLeafとして整数だけしか使わないとしても、
[1,2,[3,4],5]
なんてな構造だと、
内側の[3,4]を囲ってる配列の型はArrayでいいとして、
外側の配列はArray>ってことになるかと思います。
…それって書けましたっけ?>Java,C#,C++
いや、再帰的に上記の構造を許すなら
(というか許さないと使い物にならんです)、
ArrayintまたはArrayintまたはArrayintまたは…
あれ?括弧をどこまでいったら閉じれるんだろう?
閉じたら「格納可能な入れ子の段数」もそれに対応して終わってしまうし。
Re: (スコア:0)
内側の[3,4]を囲ってる配列の型はArray<int>でいいとして、
外側の配列はArray<intまたはArray<int>>ってことになるかと思います。
…それって書けましたっけ?>Java,C#,C++
いや、再帰的に上記の構造を許すなら
(というか許さないと使い物にならんです)、
Array<intまたはArray<intまたは<Array<intまたは…
あれ?括弧をどこまでいったら閉じれるんだろう?
閉じたら「格納可能な入れ子の段数」もそれに対応して終わってしまうし。
Re: (スコア:0)
だめです。
そもそも、そういうリテラルから型を捻りだすような考え方を捨てないと、静的型付き言語のプログラムは書けません。
#1389382
> 結論は出ないのは解りきっていますけれど、ViewDoc派な方々やDocView派な方々、あるいは他の派閥な方々もいらっしゃれば、
ViewじゃなくてShowを使うけど、一応俺ルールがあって、
ローカル関数ならShowDoc、Docモジュールで定義されているならDocShowを使います。