ソースコード見ればその人の技術力や考え方がわかる。

・ω・

1仕様書無しさん2014/06/15(日) 00:27:33.89 .net

と言ってる人の技術力も高い。

反対にそんなソースコードを見ても、何の感想も持たない人の技術力は低い。

ソースコードを見せてどんなことを言うかで採用試験を行ったほうがいいのではないか?

コードのいい点、悪い点、コードの意図を読み取れるかどうか、どう直せばいいか。
コードを書かせるよりも短い時間で判断できるとと思う。



                   



feedly

2仕様書無しさん2014/06/15(日) 05:49:08.50 .net

ただし、こだわり過ぎのやつは採用しない

3仕様書無しさん2014/06/15(日) 07:45:01.20 .net

保守しやすいコードを見せるわけ

面接者がそれを見て、分かりやすいですねー、と言っているようではだめで
それが優れていると判断できるかだ
そんなのはこないがね。

4仕様書無しさん2014/06/15(日) 07:58:52.37 .net

おまえらにはわからんだろうから教えておくが、
他人が見る、という意識で書かれたコードと
しゃかりきになって書いたコードとはレベルが違う
そこには壁があるよ

11仕様書無しさん2014/06/15(日) 12:31:12.48 .net

>>4
> 他人が見る、という意識で書かれたコードと

普通、レビューする人や、次修正する人が見るわけで、
他人が見ないというのは、個人のオープンソースではないプロジェクトぐらいだろ?

仕事なら常に他人が見ることを考えて作れよ。

コード書いてる人はわかっていて書いてるはずだから汚いコードでもわかるだろうけど、
レビューする人は、意味不明なコードだと、それを理解するのにどれだけ時間がかかると
思うんだ? プログラムなんてコードを読む時間のほうがかかるというのに。

6仕様書無しさん2014/06/15(日) 08:10:53.83 .net

>>1
汚いコードでも、それがいいとされて使われてるプロジェクトもあるわけで、
軽々しく指摘はできないわな。

7仕様書無しさん2014/06/15(日) 09:30:28.40 .net

>>6
そうなんだよね…それがあるから困る

10仕様書無しさん2014/06/15(日) 12:27:48.33 .net

>>6
それならそれでいいよ。
その会社に入ったら死ぬことになるだろ?

ちなみに俺が良いコードだと思うものは、
外部にみせても恥ずかしくない物
オープンソースなどでも書かれているであろうコードだ。

21仕様書無しさん2014/06/15(日) 23:24:44.35 .net

>>10
2chでコーディングスタイルでもめたら、主観じゃなくてちゃんと実績を出してる人の
採用してるスタイルを基準に良しあしを考えようってことで、ソースが誰でもみれて
世界的な実績をだしてる有名オープンソースを挙げて、こういう書き方がされてるって
言うんだけど、自分の職場のソースくらいしか見たことない連中はカルチャーショック
うけるみたいで絶対認めないな。
オープンソースは汚いとか、それは上級者向けの書き方だとかなんとか言って。

有名オープンソースのコードを書いてる人たちは、絶対お前らよりコードの質に対して
センシティブで、自分の会社でしか通用しないガラパゴス技術しかしらんお前らが
文句言うなって感じだけど。

8仕様書無しさん2014/06/15(日) 10:30:12.73 .net

>>1
たぶん、おれの妄想だと思うけど、
ソースを見ると、その人の技能だけではなく、
性格、人生観、苦悩、希望や絶望など
いろんなものが見えるような気がする。

9仕様書無しさん2014/06/15(日) 11:28:44.84 .net

>>8
業to文ですね、判ります。




165仕様書無しさん2015/02/09(月) 19:27:23.55 .net

>>8
千里眼ぱないの

12仕様書無しさん2014/06/15(日) 13:38:02.09 .net

それができない奴がエクセル用マクロ書いた結果真っ黒ソフトから離れられないんだろ

13仕様書無しさん2014/06/15(日) 14:00:52.58 .net

それ以前にオレオレでコーディング規約も何もなしに0から書ける環境でお前らは
仕事してるの?ある程度以上KYな環境で書くのが大半だと思うのだが。 それでも
ダメな奴はダメっていうのは分かるのは多いけど、その逆は中々ないと思うが。

16仕様書無しさん2014/06/15(日) 15:06:23.60 .net

>>13
俺はコーディング規約は効果が薄いものだと思ってる。
あってもいいけどなくても別に困らない。

それよりも重要なのは、明らかに間違っているコードを無くすこと。
無くすと言っても、そのコードは規約通りじゃないからダメですって
いうんじゃない。

間違っているコードを間違っていると、実例を持って比較して
証明して、そして理解させることまでやらないとだめ。

それができてれば、コーディング規約はどうでもいいよ。

17仕様書無しさん2014/06/15(日) 15:13:24.08 .net

>>13
昔はコーディング規約決めておけば、変数名や関数名がある程度きまってくるから
「あの関数どんな名前だったっけ」って悩まなくてすむ利点があったけど、
最近は補完が効く環境が殆どだから各自好きなように書けばいいやと思ってる。

15仕様書無しさん2014/06/15(日) 14:35:27.86 .net

業務でプログラミングがすきな人見たことない

ゲーム会社とかにはいるのかな

43仕様書無しさん2014/06/18(水) 16:54:33.54 .net

>>15
いるわけがない
ゲームのメインディッシュはデザインだし、プログラマは脇役でしかない

46仕様書無しさん2014/06/18(水) 22:28:10.32 .net

>>43
バカジャネーノ
ゲームはコンピュータサイエンスの最先端
花形中の花形だし

47仕様書無しさん2014/06/19(木) 08:00:37.41 .net

>>46
それプログラマちゃう、グラフィッカーや・・・

48仕様書無しさん2014/06/19(木) 08:06:08.27 .net

>>43
少なくとも昔のショボいハードの時代は脇役なんかじゃなかった。
任天堂の社長なんて、元は協力会社のプログラマだろ?

49仕様書無しさん2014/06/19(木) 08:26:10.27 .net

>>48
デザインは確かに目立つ部分だが、アイスで言えばトッピング。
トッピングだけで売れると勘違いしてるのが多いだけ。

50仕様書無しさん2014/06/19(木) 08:59:27.68 .net

>>49
いつの時代のゲームだか
今やプログラミングのほうがトッピング
アイスの部分はグラフィック、コーンはデザイナー
そしてアイスとコーンが不足して開発難
トッピングは在庫にどっさり、腐ったら入れ替えにゃならん

18仕様書無しさん2014/06/15(日) 15:54:35.40 .net

凄いコードは書けないがシンプルには書いてる短い程良いルール

19仕様書無しさん2014/06/15(日) 21:00:59.48 .net

コーディング規約は、低スキル除けの為に有る。
レビュー時に自分のコード中の変数の意味すら説明出来ないのが時々居るからな。

20仕様書無しさん2014/06/15(日) 21:05:35.08 .net

静的コード解析ツールが無いような言語で開発してるのが多いのかな。




23仕様書無しさん2014/06/16(月) 00:08:45.19 .net

コメントで結構わかる

24仕様書無しさん2014/06/16(月) 02:49:13.20 .net

汚いダメだまで言えても、
具体的に何がダメなのかを、
説得力を持たせて説明出来る人って少ないよな。

それを反面教師にして、ダメだと感じた時、
具体的に何がダメでどうすれば良くなるかを、
頭の中で文章化するようにしてるわ。

俺が教える立場になったら、もっと上手くやる。

25仕様書無しさん2014/06/16(月) 02:54:36.26 .net

>>24
でもぱっと言えないだけで、実際汚いでしょ?

技術の高い人ってのは慣れてしまっていてさ、
こういう時は、こう書けば綺麗だってのが
体に染み付いてるわけ。

だから変な書き方は最初からせずに、正しい書き方をする。
その頭のなかでぱっと思いつた正しい書き方と
違っていたら、汚いダメだになるんだよ。

で、理由をちゃんと説明したら、自分で作るのと
同じことになってしまうからねぇ。

26仕様書無しさん2014/06/16(月) 03:02:14.61 .net

>>25
経験から身体に染み付いてはいるけど、
それがどういう理屈かまで考えてないから
説明出来ないだけだよ。

30仕様書無しさん2014/06/16(月) 14:18:50.23 .net

ソースをキレイに書いても誰も褒めてくれないんだから適当に書くに決まってるだろ
手柄を保守するヤツに持って行かれるなんてバカバカしくてやってられない

31仕様書無しさん2014/06/16(月) 15:55:50.20 .net

>>30
そのレベルの職場から脱出できるように頑張れ。

34仕様書無しさん2014/06/17(火) 09:09:04.89 .net

昔OSSのカーネルのコミッタで綺麗なソースに定評がある人を雇ったら、
本当に単にソースを綺麗にする(インデントとか名前規約とか)ことしか出来なくて、
いつまで経っても成果物が出てこなかった、という話を思い出しましたよ

36仕様書無しさん2014/06/17(火) 09:58:28.15 .net

>>34
出版編集の悪口はそこまで!

37仕様書無しさん2014/06/17(火) 20:29:56.10 .net

>>34
それお前の問題じゃね?

その人が何を修正しているのか
コミットログから見抜けなかったんでしょう?

普通コミットログみれば、インデントや名前規約だけしか
変えていないということは、すぐに分かるはず。

(その人のコミットの前に、本当にコードを書いた人がいるわけだから)

42仕様書無しさん2014/06/18(水) 01:40:01.32 .net

>>37
俺が雇ったわけじゃない、伝聞だよ
著名なOSSのコントリビュータだったから深く調べずに採ったと思われ
そういう人はそれはそれで使い道があったと思うけどね

45仕様書無しさん2014/06/18(水) 18:23:02.21 .net

やさしいコードすき

318仕様書無しさん2016/02/24(水) 19:53:01.56 .net

>>45
わかる

57仕様書無しさん2014/06/19(木) 23:06:02.60 .net

これは凄いとか、これは酷いっていう見極めるポイントとかありますか(´・ω・`)?

59仕様書無しさん2014/06/19(木) 23:42:52.90 .net

>>57
変数名、関数名、関数の長さ、ネストの深さ。

79仕様書無しさん2014/06/23(月) 13:48:41.50 .net

>>59
変数名、関数名、関数の長さ、ネストの深さ。

関数の実態の前につけるコメント

//ロットNumberを表示
DispLotNum()
{

}

というコメントはいらない。頭痛が痛い、というような書き方だから
大体が名が機能を表すという書き方しているよね。どの本を見てもそれだ。

ただ関数の(メソッド)先頭にはコメントあったほうがいい。
コメントが区切りになりわかりやすい、

では、なにを書くかだが、俺は機能の説明ではなく、
この関数が呼ばれるまでの順序を書く
この関数はTimer->Disp関数から呼ばれる、と書く

80仕様書無しさん2014/06/23(月) 19:27:52.43 .net

>>79
> この関数はTimer->Disp関数から呼ばれる
新手の頭痛が痛いだな

319仕様書無しさん2016/02/24(水) 19:54:28.25 .net

>>80
ワロタ

162仕様書無しさん2014/10/15(水) 00:36:47.28 .net

>>79
うわあ

60仕様書無しさん2014/06/20(金) 00:00:03.86 .net

とりあえず暗号化した後のjsみたいな変数名をつける奴まじふざけんな

132仕様書無しさん2014/08/08(金) 10:30:18.47 .net

>>60
ツッコむのわすれてた
難読化と暗号がの違いがわからない奴は引っ込んどけ(#・∀・)

71仕様書無しさん2014/06/22(日) 17:57:35.02 .net

コードが美しいとかいってるやつは100%無能な馬鹿。

73仕様書無しさん2014/06/22(日) 21:07:11.05 .net

>>71
有能なやつはほとんど、コードが美しいって
話をしていると思うが?

76仕様書無しさん2014/06/23(月) 06:39:54.77 .net

有能な奴はプログラマなんて卒業してる

78仕様書無しさん2014/06/23(月) 10:34:01.87 .net

>>76
もっと有能な奴は...入社していきなりSEなのぉ...!?

92仕様書無しさん2014/06/23(月) 21:11:13.14 .net

そういえば、きみのコードは(関数が多くて)あっちこっちにいって読みにくいと言われたことがある
ちなみに、その人のコードはグローバル変数に一つの長い関数という、読む気の失せるコードだった
頭のスペックの違いなのか、前者では流れるように脳内デバッグできるのだが、後者では脳内デバッグにやたら時間を要するのだ
アスペにはプログラミングが心地よいのです、それはまるで機械のように理路整然と
複雑なものを分解し、最小単位のものを組み合わせて構築していく様、実に美しい

93仕様書無しさん2014/06/23(月) 21:14:19.10 .net

>>92
そういう人には、じゃあなんであなたのコードは
コードメトリクスにかけると評価が低いんですか?
って聞いてやれw

94仕様書無しさん2014/06/23(月) 21:14:50.44 .net

>>92
適切な粒度があるだろ。
分ける意味が無いのに分けるのは良くない。

96仕様書無しさん2014/06/23(月) 21:31:08.86 .net

2chでもグローバル変数支持派を見たことあるな。
変数宣言が一か所にまとまっていてわかりやすいとか、今は検索機能が充実してるからどこで使われてるかすぐわかるとか。

97仕様書無しさん2014/06/23(月) 21:37:11.15 .net

>>96
マジかお。豪傑すぎるお。

115仕様書無しさん2014/06/24(火) 18:00:36.72 .net

>>96で思い出したんだけど
ICE使えない環境でデバッグするのが前提のときって
モジュール毎の出力をグローバルで渡すようにして
モジュール間の連携をRAMプローブでモニタするよね

98仕様書無しさん2014/06/23(月) 22:29:26.87 .net

時間をかければ一定の綺麗さにはなるけども
そんな時間は趣味のコーディングでもない限りない
それが現実

99仕様書無しさん2014/06/23(月) 23:28:52.87 .net

>>98
でもさ、それって複雑コードを読むのに時間取られてるでしょ?
テストする時間もなくて手動テストして結局時間取られてる。

やっぱり綺麗(メンテナンス性が高くて修正に時間がかからない)コードが
一番時間がかからないよ。

100仕様書無しさん2014/06/23(月) 23:38:50.79 .net

>>99
テストなんていまどき自動だよ

102仕様書無しさん2014/06/24(火) 00:33:53.66 .net

>>100
おまえの経験した仕事はどんな仕事?
どんな言語使ってる?

107仕様書無しさん2014/06/24(火) 07:25:28.37 .net

>>102
詳しくは言えないが組み込み系だよ
今はC言語
毎日ビルドとテストを自動で走らせるなんてもはや常識なんだが

108仕様書無しさん2014/06/24(火) 07:30:05.48 .net

>>107
おまえ、分かってないな

136仕様書無しさん2014/08/13(水) 11:33:41.94 .net

論理面の美しさと字面的な美しさの二種類あるよね。

143仕様書無しさん2014/09/03(水) 05:59:22.30 .net

>>136
論理面で美しいコードは字面も美しかったりすると思うがどうか?

144仕様書無しさん2014/09/03(水) 08:47:17.23 .net

ロジックは美しいがネーミングセンスが残念なコードってあるよな

145仕様書無しさん2014/09/03(水) 09:03:16.15 .net

>>144
ローマ字で書いてる奴か?

146仕様書無しさん2014/09/03(水) 20:24:34.01 .net

>>144
名前付けるのが下手≒抽象化が下手
だから、きれいなロジックを書けるとは思えんが。


via http://nozomi.2ch.sc/test/read.cgi/prog/1402759653/

55