[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/31 00:34 / Filesize : 180 KB / Number-of Response : 913
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

イラッつとするコーディングスタイル



1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる

そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド

713 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:40:26.30 ]
x = (n > 0)
 ? n / 100 + 10
 : 10;

714 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:42:26.39 ]
>>710
それはifでやれよ…

715 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:45:29.39 ]
>>712
ネストを1段上げる、ネストを1段下げるなら
goto使わんでも出来るし問題にならんだろ

716 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:47:09.13 ]
>>713
そんな書き方すんならifつかえよ

717 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:49:00.52 ]
>>716
「ここで確実にxが変わる」ってわかるじゃないか

「if使え」っていうことはわかんないのか。困ったな

718 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:51:14.52 ]
>>717
カッコつけてブロックでインデントするぐらいならif使えといってんの
見づらいだろ

719 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:53:09.54 ]
x = ((10 + n > 0) ? n / 100 : 0);
みづらい・・・
カッコが好きならいっそ全部くくりゃいいのに
x = ((10 + n > 0) ? (n / 100) : (0));

720 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:58:03.94 ]
>>718
ifだと

if (n > 0)
{
 int x =
}
else
{
 int x =
}

って書けないじゃん
先にint xって書いても節でxx = って書くかもしれない
もちろんコンパイラがワーニング出すけど

721 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:00:41.19 ]
>>714
面倒だろ。特にメンバー関数なんかは、引数2回書くのがだるい。
かといって、オブジェクトをifでポインターに入れて、
そのあとメンバー関数呼び出すのも面倒い。

( max > n ? alpha : beta ).Execute( arg_first, arg_second, arg_third );




722 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:03:46.98 ]
他人に見せるか他人のを読むかという前提で
「おれがめんどくさい」っていわれたら
もう何も言うことはない

723 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:16.78 ]
>>715
なんの話してるの?

gotoで警告出す時の条件の話でしょ。
使わない時の話はしてないよ。

724 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:32.84 ]
>>720
んな事はどうでもよくて、カッコつけて見づらい書き方するんなら
三項演算子つかうの止めろと言ってるんだよ

725 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:06:01.68 ]
条件式や値のコードが極端に長くないなら、

処理を分岐させたいなら
if、switch

条件に応じて値を返したいなら
三項演算子

この2つで決めればいいだけだろ。

726 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:20.76 ]
>>724
カッコつけて見やすくする書き方なら
問題ないでしょw



727 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:59.44 ]
>>724
変な書き方してたら「何か変なことしてるな」ってわかるじゃん
1行でさらっと流したら絶対見落とすぜ

728 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:08:48.84 ]
>>723
gotoつかってネスト上げたり下げたりするのは、
他の構文と同じだから、警告だすなら
ネストからネストに飛ぶ時だけでいいでしょって話。

729 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:10:41.61 ]
>>727
x = n > 0 ? n / 100 + 10 : 10;
こうだったら文句いわんよ

730 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:12:30.19 ]
条件に括弧つけるのはif文の代わりって意味なんじゃないの?
俺ならbool値にも括弧つけるよ (flag)? って

731 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:08.44 ]
三項式はメンバ変数のコンストラクタ渡しとかで使う



732 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:12.54 ]
>>728
だから、”ネストから”ってのは要らないよね?

単に「ネストに入るときだけ」に警告でいいよね?

って話。

733 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:16:39.41 ]
>>729

x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : defvalue;

こんな感じですか?
カッコつけたほうがいいよ。

734 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:18:39.26 ]
x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 nantoka / 100 + defvalue2 : defvalue;

こんな感じですか?
カッコつけたほうがいいよ。



735 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:19:08.41 ]
訂正

x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ? nantoka / 100 + defvalue2 : defvalue;

こんな感じですか?
カッコつけたほうがいいよ。




736 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:35.76 ]
x = (((10 > a) ? a / 4 : 0)>((5 > b) ? b : 0) ? (( c == d) ? 4 : 2 ) : (( e || f ) : 3 : 1 );

737 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:38.32 ]
x = (0 < nantoka && nantoka < 100) ? nantoka / 100 + defvalue :
  (100 <= nantoka && nantoka < 200) ? nantoka / 100 + defvalue2 :
  defvalue;

こんな感じですか?



738 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:21:41.88 ]
やっぱりカッコ多すぎると分かり辛いな


739 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:22:24.89 ]
>>732
ネストに入るだけなら問題ないって

740 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:24:58.07 ]
>>735
nantoka > 0 && nantoka < 100 ?
nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ?
nantoka / 100 + defvalue2 : defvalue;

?で切ればいいだけだからすぐ解るじゃん
カッコあると余計迷う

741 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:16.70 ]
>>736
x = ( (10 > a) ? a / 4 : 0 ) > ( (5 > b) ? b : 0 )
   ? ( (c == d) ? 4 : 2 )
   : ( (e || f ) ? 3 : 1 );




742 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:50.03 ]
>>737
最初と条件違うじゃねぇか。間違えるならカッコつけんなよ。

743 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:29:49.62 ]
x = 10 > a ? a / 4 : 0 > 5 > b ? b : 0 ? c == d ? 4 : 2 : e || f ? 3 : 1;



744 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:30:20.32 ]
>>740
見難い

745 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:12.76 ]
三項演算って言語によって動作が違うから困る

746 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:19.87 ]
>>741
どの部分が条件文なのかが見やすいね。

747 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:41:15.20 ]
長い三項演算子を一行で書く奴が馬鹿ということでw

748 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:49:00.22 ]
>>741
x = ( 10 > a ? a / 4 : 0 ) > ( 5 > b ? b : 0 )
  ? ( c == d ? 4 : 2 )
  : ( e || f ? 3 : 1 );

749 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:51:18.27 ]
?より左が全部?より右の条件だって知らない人おおいの?

750 名前:仕様書無しさん mailto:sage [2012/05/13(日) 02:09:52.04 ]
>>747
長かったら何行に分けようと莫迦だろう。
あと、副作用のある式が含まれてる場合も。

751 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:23:11.54 ]
>>750
なんで馬鹿じゃなく莫迦と書いた?



752 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:31:51.39 ]
>>750
話しするたびに、無駄に疲れさせるタイプだとみた。
こういうタイプは浅い理解しか出来ないクセに
他人には1を聞いて10を知れみたいな理解を求める人が多い。

753 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:48:25.33 ]
>>751
別段意味はないよ。
強いていえば、救い様のないレベルであることを
強調したい気持ちが伝わるといいなー、程度。

そこ大事なトコだった?

754 名前:仕様書無しさん mailto:sage [2012/05/13(日) 17:10:39.27 ]
>>753
表現の仕方がイラッとする。
コーディングも同じようにイライラさせてると推測する。
そういう意味で大事なトコ。



755 名前:仕様書無しさん mailto:sage [2012/05/13(日) 18:20:24.05 ]
>>740
commit前にformatter通すというルールがあるところだと、こういう、
改行で複雑な式の区切りを示すってやりかたはできないなぁ。
自然と、長い複雑な式は使わないようになってくる。

756 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:17:09.64 ]
1行の文字数制限とかアホだよなーと思う。
右のほう見に行かなきゃ見えない部分は、どうせ後から読む奴には重要じゃない情報しか無いから。
全体の流れの把握を助けるために、敢えて長くしてるんだってばよ。

もちろん>>740のようなコトをやってない前提だけど。

757 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:37:53.74 ]
エディタのフォントサイズを10にしてる
文字はみにくいが、全体が見渡せる。

758 名前:757 mailto:sage [2012/05/13(日) 19:48:00.58 ]
フォントサイズを小さくしてるからカッコがあった方がパッと見わかりやすい

759 名前:仕様書無しさん mailto:sage [2012/05/13(日) 20:38:36.97 ]
>>755
そもそも長い三項目演算子書かなきゃいい
現実はせいぜいこんなもんだろ
z = n + ( 0 < x ? y / x : 0 );

760 名前:仕様書無しさん mailto:sage [2012/05/13(日) 21:35:42.19 ]
「三項演算子の中にベタ書きで処理を入れるな」と

761 名前:仕様書無しさん mailto:sage [2012/05/13(日) 22:14:41.06 ]
長い行のときだけスペース入れずに書いてあるのはかなりイラッとする
複数行にするよりスペース省いてでも無理やり一行で書いたほうが見やすいと思ってるのか



762 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:17:39.06 ]
括弧でくくると見やすくなるの法則って、何法則だっけ?

763 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:20:08.27 ]
プレグナンツの法則

764 名前:仕様書無しさん mailto:sage [2012/05/14(月) 19:04:53.78 ]
C言語のくせに、インデックス指定が1から始まるのは
嫌がらせとしか思えない。

765 名前:仕様書無しさん mailto:sage [2012/05/14(月) 23:58:57.22 ]
場合によるだろう
month[0] == January, month[1] == February, month[2] == March ……よりも
month[1] == January, month[2] == February, month[3] == March ……のほうが直感的だ

766 名前:仕様書無しさん mailto:sage [2012/05/15(火) 00:46:28.70 ]
そういう問題じゃねぇ
下手したらバグの温床になる
0版にはゴミは入るし、
配列の要素数とループカウンターの
上限があわねぇし

767 名前:仕様書無しさん mailto:sage [2012/05/15(火) 01:19:55.22 ]
その理屈だと日付も0日からはじめるべきじゃね?
day[0] == 1, day[1] == 2

768 名前:仕様書無しさん mailto:sage [2012/05/15(火) 02:46:24.41 ]
そんなもん配列にいれんな

じゃダメ?

769 名前:仕様書無しさん mailto:sage [2012/05/15(火) 03:04:10.81 ]
日付も0からはじめろ

770 名前:仕様書無しさん mailto:sage [2012/05/15(火) 04:01:20.32 ]
噂の9月0日か…
確か1年を30日が12回ってゲームあったな
プログラマにとっては楽そうだなと思った

771 名前:仕様書無しさん mailto:sage [2012/05/15(火) 10:41:01.70 ]
>>770
FF11のことかw



772 名前:仕様書無しさん mailto:sage [2012/05/15(火) 12:42:31.47 ]
カレンダーの仕様がおかしいから変えちまえ!ってことか潔いな

773 名前:仕様書無しさん mailto:sage [2012/05/15(火) 13:05:26.93 ]
Luaの配列のインデックスが1からで結局綺麗に書くの諦めた覚えがある。

774 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:23:08.80 ]
上に行ったら下から出てくる。
左に行ったら右から出てくる。

こんな世界もプログラマにやさしい。

775 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:54:18.17 ]
> 左に行ったら右から出てくる。
これはいいんじゃね?

776 名前:仕様書無しさん mailto:sage [2012/05/15(火) 20:17:29.03 ]
0はnullやfasleと混同しやすいから、バグを生む

777 名前:仕様書無しさん mailto:sage [2012/05/15(火) 23:56:12.94 ]
fasle ?

778 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:12:07.19 ]
#define fasle false

問題は解決だ

779 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:37:47.33 ]
>>778みたいな定義があった上で
そこら中でfalseとfasleが混在してたら
イラッ☆つとくるじゃ済まねーぜ

780 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:30:24.88 ]
1ヶ月に28日有る月は何ヶ月有る?

781 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:23.69 ]
12ヶ月



782 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:58.77 ]
訂正、1年あたり12ヶ月

783 名前:仕様書無しさん mailto:sage [2012/05/17(木) 01:08:31.49 ]
無限

784 名前:仕様書無しさん mailto:sage [2012/05/17(木) 09:15:07.96 ]
コーディングスタイルの問題というのかわからないけど、
10年前の改修履歴が残ってるのを見るとイラッつとする


785 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:28:54.79 ]
「コメント禁止。ソース内ではなくExcelファイルに対応するコメントをまとめること。」
という内部規約のプロジェクトのソースを貰った。

案の定ソースとコメントがずれまくっててシャレにならん・・・

786 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:47:12.96 ]
コメント禁止の方はそれほど問題じゃ無いな
俺、コメントなんかほぼ書かないし

787 名前:仕様書名無しさん mailto:sage [2012/05/17(木) 20:35:40.97 ]
関数作るのに申請が必要。
関数名は申請番号をつける。

788 名前:仕様書無しさん mailto:sage [2012/05/17(木) 22:46:50.74 ]
>>784
けれど、その履歴が熟成された30年物だったら……?

789 名前:仕様書無しさん mailto:sage [2012/05/18(金) 00:27:51.60 ]
行数を出来る限り短くするのが俺のポリシー

なので極力変数は切らない。
分岐は参考演算子のネスト。

俺流コーディングスタイル。

790 名前:仕様書無しさん mailto:sage [2012/05/18(金) 02:14:19.65 ]
if(ture or fasle){

contineu;

}esle{

fasle retrun;

}


791 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:05:53.38 ]
>>790
はぁ?
これでリターンする言語なんてあんの?



792 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:08:30.98 ]
ああああ そゆことか。 こりゃ確かにイラつくわw

793 名前:仕様書無しさん mailto:sage [2012/05/18(金) 07:46:00.94 ]
>>657
それはコーディングスタイルの話じゃないよね

794 名前:仕様書無しさん mailto:sage [2012/05/18(金) 08:04:32.31 ]
/*
この関数なんだか挙動がおかしいからとりあえずコメントアウト
中の人が悪さしているかも
fn();
*/

795 名前:仕様書無しさん mailto:sage [2012/05/18(金) 21:32:33.68 ]
>>791
C言語
int true = 1;
int false = 1;

796 名前:仕様書無しさん mailto:sage [2012/05/18(金) 22:58:22.00 ]
>>790
間違い探し?

797 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:24:54.71 ]
baseClassとかでいい物を、clazzと書く

798 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:51:41.00 ]
コボラの書いたコードで

1ファンクションに3万ステップあった。


799 名前:仕様書無しさん mailto:sage [2012/05/19(土) 22:09:26.69 ]
それはもはやコーディングスタイルの問題ではなく
そいつのプログラミングスキルの問題だな

800 名前:仕様書無しさん [2012/05/22(火) 22:47:53.70 ]
>>684
それ自分はよくやる。戻り値を変数に居れて最後にリターンしたいから。その際に変数名で悩みたくない。

801 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:05:53.66 ]
>>800
いやこれの注目点はif文の条件の出所じゃね
クラス変数としても使うなら引数として用意して欲しい



802 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:44:26.47 ]
>>800
処理の見通しが悪くなるから俺はイヤだな
関数の前半で値が確定してるにもかかわらず
最後でreturnされたら、影響が後半で発生してないか
いちいち考えなきゃならんのがメンドイ

803 名前:仕様書無しさん [2012/05/23(水) 09:33:43.27 ]
え?>>684>>685で答えが出てるんじゃないの?

804 名前:仕様書無しさん mailto:sage [2012/05/23(水) 10:39:15.55 ]
>>684は解釈の仕方がいくつかあるなw
自分的には finally 使わないで書く事多いからよくやる。

805 名前:仕様書無しさん mailto:sage [2012/05/23(水) 19:23:20.20 ]
>>803
分岐とreturnの間に別の処理があるつもりで
反応してるやつも多いんだろ

806 名前:仕様書無しさん mailto:sage [2012/05/23(水) 22:13:17.23 ]
>>805
まさかそのままだったのかwww
当然ながら処理が省略されてるもんだと思ってたw

807 名前:仕様書無しさん mailto:sage [2012/05/23(水) 23:25:54.83 ]
>>806
確かにコレがそのままなら、>>685で終わりw

808 名前:仕様書無しさん mailto:sage [2012/05/24(木) 09:12:00.04 ]
分岐とreturnの間に戻り値に影響しない処理が入ってたらそれこそイラッとする

809 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:29:11.35 ]
引数をアンスコ+大文字にする奴が居てイライラする

int func(int _Hoge, int _Hage)

みたいな感じ

810 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:35:20.83 ]
>>809
C/C++なら、「それは非常識だ」と罵っていい。

811 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:09:41.26 ]
public:

private:


この順番、どうよ?



812 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:38:14.00 ]
というか無駄にprivate:があるのがイラッとする
privateメンバーがあるなら、classのデフォルトアクセスレベル。
全てpublicならstructのデフォルトアクセスレベルでいい。


813 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:14:25.63 ]
>>811
classを使いたい奴が第一に欲する情報は、公開されているメンバに関するもの
それが先頭にまとめられていれば見やすい
よってそのスタイルは何ら問題ない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef