プログラマーとして、ダメそうな思想

ダメそうな思想

・同じ処理なら、行数が短いほうがよい
・べタな書き方は、ダメ

みたいなのって、危険な思想だと個人的には思うけどなぁ。
こういう思想の人には、あまり近づかないほうが良いと思う。
たまにスキルの高い人もそういう人がいるけど、それでも近づかないほうが良いと思う。

こういう思想ってなんとなく受けが良いみたいで、「参考になります」「勉強になります」みたいな人たちが群がってくると思う。

(追記あり)家にパソコンを持たないプログラマー達 - 夜中に前へ

ブコメまともなのもあるんだけど、行数短い方がいい理由わかんない連中がしれっと溶け込んでるのヤバイ。みずほの開発部隊か?

2017/05/17 20:09

行数短い方がいい理由ってなんですかね?
ヤバいのは、それっぽいことを言ってる方では?と思うんだけどね。



以下のコードがクソコード?として笑っているのがどうもなぁと個人的には思う。

switch(ch){
    case 'a':
        ch = 'A';
        break;     
    case 'b':
        ch = 'B';
        break;
    case 'c':
        ch = 'C';
        break;
    case 'd':
        ch = 'D';
        break;
    case 'z':
        ch = 'Z';
        break;
}

新人研修時にC言語の授業があり「小文字のアルファベットを大文字にするプログラムを作れ」という、初心者向けの問題を解くことになりました。



switch文でアルファベット26文字、全パターンを網羅したのです。

いやいやいや、その実装はやべえだろ。動くけども。
家にパソコンを持たないプログラマー達 - 夜中に前へ


僕はこの実装も悪くないと思うんだけどね。
あと、新人研修で条件が何もついてないのなら、正解なんじゃ?

家にパソコンを持たないプログラマー達 - 夜中に前へ

僕ならASCIIコードとみなして減算するプログラムを書いてきたら不正解にする。それよりもswitch文で変換するほうが正確で正しいプログラム。処理系に合わせて実装されているtoupperで変換が一番良いですけどね。

2017/05/17 08:54

・switch文で変換 =>そんなに悪くない
・減算するコード =>あまりよくない

toupper関数を利用するというのが、業務では使われそうだけど、それはこの関数があることを知ってるかどうかなので・・。

「減算するコード」もそんなに悪くないんだけど、良いわけではないということで・・。

C言語の昔のテキストでも、文字を大文字から小文字に変換するとかいう演習問題で、文字コードに依存したものはよろしくないって明記されてたと思う。でも、昔はそんなこといっても、パソコンの性能が低かったり、組み込み系ならもっと性能低かったり、標準ライブラリも今一つとか、またコンパイラもあまり賢くなかったからとかいろんな要素で、減算するコードで書かれてることも多かったとは思う。

家にパソコンない人たち

・家で仕事しないので、パソコンはいらない
・勉強は、会社の定時後にすればよいのでは?

仕事してないので残業扱いにはならないけど、勉強したいといえば会社の機材を定時後に使わせてくれる会社のほうが多いと思うんだけどね。

「パソコン持ってない人は仕事ができない」という話が好きな人は、
「高級なパソコンを持っている人も仕事ができない」とかいうのも好きそうな気がするけどね。

テキストだけ見て、マニュアルだけ見て、そこそこマスターする強者とかもいたりするんだけどなぁ。

パソコンは必須ではないと思う。
パソコン系でできる仕事だから、そう思うだけで
組み込み系やホスト系とか、IT業界でもパソコンからちょっと遠いところはどうなるの?とかになると思うけどね。


プログラムコードについて

家にパソコンを持たないプログラマー達 - 夜中に前へ

このswitch文の実装でいいんじゃないのシンプルで

2017/05/17 09:52

家にパソコンを持たないプログラマー達 - 夜中に前へ


このコード例は悪くない。テストケースが増えるわけでもないし。一方、文字コードを減算するコードはマジックナンバーが現れることからも分かる悪手。/ 文中に26文字が全入力パターンとあるので、これでいい。

2017/05/17 09:16

家にパソコンを持たないプログラマー達 - 夜中に前へ

ピュアC言語で研修してるってのも何だかな。仮に文字コードがasciiと一致しない特殊な環境だったらswitch文の例も正しいかもしれない。

2017/05/17 11:02

家にパソコンを持たないプログラマー達 - 夜中に前へ

新人さんなら変な癖も付いてないし後出し仕様のありそうな要件だしこんぱいらさんが最適化しやすそうだしいいんじゃないかなぁ? 実機が無ければ脳内で動かせばいいじゃないですの(-ω【みかん

2017/05/17 10:57

家にパソコンを持たないプログラマー達 - 夜中に前へ

減算方式より、配列を2分探索したほうがいろいろ捗るんじゃね(´・ω・`)?

2017/05/17 10:45

家にパソコンを持たないプログラマー達 - 夜中に前へ

EBCDICなら死ぬ問題だな。減算方式は範囲チェックと適切なコメントが無ければ△か✕にすると思う。

2017/05/17 10:35

家にパソコンを持たないプログラマー達 - 夜中に前へ

学校で習うならビットシフトや文字コードの概念については学んでいるかどうかで違うんだけど俺ならこの回答で80点はあげるなぁ。実装できてるし。その上でこうしたらいいよってアドバイスしないのがクソ。

2017/05/17 10:23


・・・

家にパソコンを持たないプログラマー達 - 夜中に前へ

「自分より無知な者を笑いものにした」以上の情報が含まれない

2017/05/17 10:20

無知なものは、こういうのに騙され?やすいとおもうし
おかしいなと思う人も、関わりたくないのであまり声を揚げない傾向にあると思う。

家にパソコンを持たないプログラマー達 - 夜中に前へ

その職種で学ぶために必須のものを自費購入する気がない人はその先も伸びないから受け入れたくないわな。パソコンを使わずに勉強する分野でいえば、「参考書もノートもペンも持っていません」みたいなもん。

2017/05/17 10:56



家にパソコンを持たないプログラマー達 - 夜中に前へ

0x20を減算するくらいなら0x5fとの論理積の方がマシというのはgoogleで検索すれば一発でわかることなので、笑っている彼らは将来困るだろうね。

2017/05/17 10:08

家にパソコンを持たないプログラマー達 - 夜中に前へ

最後のとこ読んでこのブログの筆者を受け入れた部署は苦労しただろうなと思った。技術は習得すればいいけど、人間性って直すの難しいからな。

2017/05/17 10:01

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。