これからコードを書く人に絶対やって欲しいこと

1: 名無しのピシーさん 2013/03/10(日) 12:48:17.48
もしくはやって欲しくないこと
先輩方のアドバイスをください

引用元:https://kohada.5ch.net/test/read.cgi/prog/1362887297/

3: 名無しのピシーさん 2013/03/10(日) 13:03:02.18
疑問形とか「とりあえず」のコメントを残すな
4: 名無しのピシーさん 2013/03/10(日) 13:03:02.48
常識を勉強しろ
まず自分の頭で考えろ
人のせいにするな、コピペしたからなんて理由になんねーよ
5: 名無しのピシーさん 2013/03/10(日) 14:49:59.12
俺に後始末させるな
6: 名無しのピシーさん 2013/03/10(日) 15:50:33.32
テストコード書け
8: 名無しのピシーさん 2013/03/10(日) 16:34:57.30
>>6
それはまだはえーよw
分かってない奴が事務的に書くテストコードなんて害悪でしかない
9: 名無しのピシーさん 2013/03/10(日) 16:39:18.42
>>8
害悪だとわかった時点で直せばいいだけ。

害悪コードを放っておくな。腐ったミカンと一緒だ。
害悪コードをほうっておくと、それを真似てどんどん腐ったものが量産される。

7: 名無しのピシーさん 2013/03/10(日) 16:34:44.54
修正の量(分かりやすく言えばdiff結果)を最小限にしようとするな。

再設計を行なって、正しく修正しろ。

10: 名無しのピシーさん 2013/03/10(日) 16:40:23.00
最初から、最高のやり方でやれ。最高のやり方を探せ。
「お前にはまだ早い」だとという言葉に耳を貸すな。
11: 名無しのピシーさん 2013/03/10(日) 16:43:56.60
短いコードであってもパッと見て意味がわからないのなら
関数(メソッド)を作れ。

コメントを書くぐらいなら
適切な名前の関数を作ったほうが良い。

例えば、正規表現を書くよりも、その正規表現で
やりたいことを意味する関数を作ったほうがいい。

12: 名無しのピシーさん 2013/03/10(日) 16:47:33.91
動的型付け言語なら高機能なテキストエディタを使え
静的型付け言語ならIDEを使え。

なぜなら、動的型付け言語ではIDEのサポートが十分に得られない。重いだけ。
静的型付け言語はコード自体は冗長になるが、IDEのサポートで大幅に生産性が上がる。

13: 名無しのピシーさん 2013/03/10(日) 16:49:32.42
人力テストは極力なくせ。

人力テストとは、ブラウザを開いてフォームに値を入れてクリックするとか
アプリを起動してメニューを選んでクリックするとか、
出力ファイルを眺めておかしい所がないかチェックするとか、
そういうことを人間が毎回操作してテストすることだ。

14: 名無しのピシーさん 2013/03/10(日) 16:53:02.79
理由が書いてない(納得出来ない)
コーディング規約はゴミだ。作るな。従うな。

初心者のためのコーディング規約は糞だ。
(難しくてわからないから)○○機能は使わないこと。

糞な規約の例として
三項演算子は使わない。
クラスは作らない。
継承は使わない。
等がある。

15: 名無しのピシーさん 2013/03/10(日) 16:55:11.95
コードは書くことよりも、読む時のことを考えろ。
短く書いたとしても、読みにくければそれは駄目なコードだ。
コーディングにかける時間の8割は、コードを読むことに使わている。
16: 名無しのピシーさん 2013/03/10(日) 16:55:33.56
人売り営業のためのスレ
17: 名無しのピシーさん 2013/03/10(日) 16:57:49.17
最初から正しいコードを書くことにこだわるな。どうせ無理だ。
そうではなく良くないコードから正しいコードへ書き換える手段を身につけれ。
18: 名無しのピシーさん 2013/03/10(日) 17:01:08.92
循環的複雑度。これを早い段階で計測できるようにしろ。
客観的にコードの汚さ、目安が計測できる。
これは各言語ごとにツールが有るはずだ。
19: 名無しのピシーさん 2013/03/10(日) 17:05:02.98
警告は有効にし、警告レベルは最大にしろ。
エラーはログに表示させ、そのログを見ることを覚えろ。
場合によっては、それができる仕組みを作れ。

あれ? なぜか動かない?原因がよくわからない。などという時
実はちゃんと設定やコードを書けば、起きてるエラーが取得できる事が多い。

余談だが、データベースの設定に警告レベルがあったりもする。

20: 名無しのピシーさん 2013/03/10(日) 17:08:37.17
初心者が何かに関して勉強したいと思ったら、本は最低二冊買え。
簡単でわかりやすい本と、難しいが間違いが少なく詳しく書いてある本だ。

いきなり難しい本では挫折するが、簡単な本には間違いが多い。
簡単な本は不要になったら捨てて良い。

26: 名無しのピシーさん 2013/03/10(日) 23:02:59.30
>>20
特定の本やサイトだけで勉強すると、間違って覚える可能性が高いというのもある。
特に概念的なもの。オブジェクトとか。
21: 名無しのピシーさん 2013/03/10(日) 17:41:11.53
相手が自分と同じ知識を持っていると思うな。
それがたとえ先輩でもだ。
分かりやすく書くことに労力を惜しむな。
耳を貸すなとかいうネガティブな言葉が出て来たら、自分の中でその理由が納得できるまでは鵜呑みにするな。
22: 名無しのピシーさん 2013/03/10(日) 17:46:28.16
めっちゃ勉強になりますわ
23: 名無しのピシーさん 2013/03/10(日) 17:50:58.18
「言語・ライブラリにバグが有るようです」
「こういうことは出来ないようです」

初心者が口にしたら怒られるセリフ。
なぜなら実際には「お前が間違ってるから」

24: 名無しのピシーさん 2013/03/10(日) 17:52:04.87
ソースコード管理ツールを使え。
gitやsubversionのことだ。
25: 名無しのピシーさん 2013/03/10(日) 17:59:02.46
特定の言語をディスるな。
特に自分がよく知らない言語はディスるな。
反論されて恥をかくだけ。

言語をディスっていいのは、何かの言語の作者だけだ。

言語の作者が自分で作った言語を褒めて、他の言語をディスるのは
営業的な意味で当然やるべき行為だからだ。
だが他人がそれを真似るな。鵜呑みにするな。

32: 名無しのピシーさん 2013/03/11(月) 14:38:19.84
>>25
反論されて恥をかくっていうか、特定の言語しか使えなくて、しかも
その言語の知識も中途半端な人にかぎって、言語の話題は感情的になるから
デリケートに扱ったほうがいいな。
DISる意図がなくても、うっかり話題をふったりしたらエキサイトされるとかあるから。
36: 名無しのピシーさん 2013/03/12(火) 14:09:51.71
>>25
最近こういうの流行ってるのかね。
このまえスラドで動的.vs.静的型言語みたいなスレがたったときも、作者で無いのに
文句言うなとか、ポジショントークでけなしてるとか言うやついたわ。

オタクがアニメとか漫画の議論で「なら自分で書いてみろ」って言ったり
「なんとか監督が声優を評価しないのは、タレントを起用するためのポジショントーク」みたな
ことを言うけど、技術的な話にそういう論法を持ち込まないでほしいわ。
きもい。

27: 名無しのピシーさん 2013/03/11(月) 03:37:41.65
コードと直接関係はないけど
何かでエラーが出たりした時に、
なにも調べず、質問サイトで質問はやめて欲しい。
28: 名無しのピシーさん 2013/03/11(月) 03:55:04.65
エラーメッセージ(英語)を読むこと
29: 名無しのピシーさん 2013/03/11(月) 09:56:30.37
お前らが言うようなこと実践出来るような裁量をコーダーに与えられるの?
38: 名無しのピシーさん 2013/03/21(木) 13:03:33.69
>>29
実践できなければ、裁量権のないコーダーとして働いてもらうしかないな。
30: 名無しのピシーさん 2013/03/11(月) 12:18:06.83
さすがにマ板だな。
「先輩の言うことを良くきけ」がなかった。
ニュース系の板のプログラムスレには絶対いるのに。
31: 名無しのピシーさん 2013/03/11(月) 12:59:26.17
聞く必要はない
盗め(使えるところだけ)
43: 名無しのピシーさん 2013/03/24(日) 01:33:11.88
教えたがる奴の言うことは信用するな
45: 名無しのピシーさん 2013/03/24(日) 02:20:40.42
そうだな、入門書のコーディングから抜け出すのか、初心者からのレベルアップだな。
50: 名無しのピシーさん 2013/03/24(日) 07:34:54.23
スコープが小さいなら
短い変数名で構わない。
51: 名無しのピシーさん 2013/03/24(日) 07:46:26.75
リポジトリと凡ミスチェッカではじけるならならなんでも良い
i,jなんかは不可

for(int i=0; i str.length; j++) {
}
とか迷惑

52: 名無しのピシーさん 2013/03/24(日) 08:44:02.74
一文字変数絶対禁止は、馬鹿ほどがんじがらめのルールを好む事をよく表しているな。
53: 名無しのピシーさん 2013/03/24(日) 10:56:23.87
>>52
浅はかだね。何で否定派がいるのか考えたほうがいいよ
54: 名無しのピシーさん 2013/03/24(日) 14:47:42.69
大体仕事の場合は、一文字の変数名はカウンタを含めて、殆どコーディング規約で禁止されている。
56: 名無しのピシーさん 2013/03/24(日) 16:05:28.30
>>54
変数台帳で通し番号管理しているところはお呼びでないのでお帰りください
58: 名無しのピシーさん 2013/03/24(日) 16:43:40.23
>>56
変数台帳で通し番号管理していないところでは
i, j, k, iiなんてキチガイみたいな変数名を使うなよw
57: 名無しのピシーさん 2013/03/24(日) 16:17:46.30
変数を台帳で管理してるかのような
極論を持ち出さないと反論できない時点でw
59: 名無しのピシーさん 2013/03/24(日) 18:12:16.48
1文字だと検索した時に視認性が悪くて不便なんだよ。最低3文字くらいは欲しい。
60: 名無しのピシーさん 2013/03/24(日) 18:16:05.10
いまだかつて、単なるループカウンタを検索したいと思った事などないんだが。
何か間違ってるぞ、そのプログラム。
61: 名無しのピシーさん 2013/03/24(日) 18:55:09.12
お前プログラム書いたことないだろ
62: 名無しのピシーさん 2013/03/24(日) 19:02:34.40
>>61
はずれ。

外れた原因は、お前が世界とずれてるからですかねw

65: 名無しのピシーさん 2013/03/24(日) 19:18:03.61
ループカウンタを「単なるループカウンタ」としてしか使ったことがないコーダーなのだろう。
70: 名無しのピシーさん 2013/03/24(日) 19:29:18.20
>>65
それはないわw無理して反論しようとすんなw
66: 名無しのピシーさん 2013/03/24(日) 19:20:10.57
ループカウンタを別の用途に使わないでください(笑)
67: 名無しのピシーさん 2013/03/24(日) 19:25:15.34
プログラマがこんなに頭の悪い奴ばっかりとは思わなかったわw
74: 名無しのピシーさん 2013/03/24(日) 20:13:01.05
うわぁ…
136: 名無しのピシーさん 2013/03/26(火) 21:19:29.53
コーディング規約にも2種類あってね。

一つは、いろんなやり方があって、どれでもいいが統一しましょうってだけの規約。
例えばインデントはスペースいくつにするか?みたいな。
後はディレクトリ構成とか日本語英語対応表とか。
こういう規約はどこでも必要。

もう一つは、素人プログラマに生産性マイナスみたいなコードを
書かせない様にするための縛り。一行80文字とかそういうの。

プロならそんな縛りがなくても見やすいコードを書ける。
プロなら一行80文字というルールがなくてもたいてい80文字以内に収めるし、
超える場合は改行した場合と比較して見やすい方で書く。

プロが多い所なら一行80文字という規約はデメリットをもたらすだけの意味のない規約だが、
素人ばかりならデメリット以上にメリットがあるから仕方なく必要。

ループ変数のiも同じでしょ。規約なくてもプロならスコープが小さい場合にだけ使う。
だけど素人ばかりなら、真似てスコープが広いものにまで使う。
だから素人向けに縛り規約を作る。(もちろんそれはプロの間ではデメリットになる)

166: 名無しのピシーさん 2013/03/27(水) 08:08:23.29
>>136
プロならコーディング規約を無視していいと?
つーか、プロならコーディング規約を守った上で、見やすいコードを書くんじゃないか?
172: 名無しのピシーさん 2013/03/27(水) 09:05:28.95
>>166
長いのはスコープが広い時だけ。
ローカル変数は短い

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です