[表示 : 全て 最新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 ]
文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる

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

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を使いたい奴が第一に欲する情報は、公開されているメンバに関するもの
それが先頭にまとめられていれば見やすい
よってそのスタイルは何ら問題ない

814 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:51:40.56 ]
>>813
言いたいのはメンバ関数だと思うが、それはさておき
クラスの素性を知るには、そのクラス特有の基本的管理データ、つまりprivate変数を見るべきじゃないのか?

815 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:59:23.64 ]
漢のなかの漢な規約では
構造体は一切使わず、全てクラスを使う
潔いから、というのがある

816 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:36:31.36 ]
>>814
普通はprivate変数を見なくても分かるように設計します。
クラスを編集するときの話は別な。

817 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:59:17.56 ]
コーディングスタイルの話じゃないけど、javaの記憶クラスのデフォルトが
publicでもprivateでもない中途半端なのがイラッつとする。

818 名前:仕様書無しさん mailto:sage [2012/05/25(金) 23:08:03.36 ]
>817 しかも、明示的に"package"等と書けないのがイラッつきを加速させる

819 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:33:39.55 ]
>>813
pimpl使えば気にならんだろ
class XxX
{
public:
;こう始まるほうがウザイわ



820 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:34:37.90 ]
>>814
privateのメンバって、実装上の理由でたまたま持ってるだけだったりするから

クラスの素性を知るには、公開されているI/Fをまず調査する。

821 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:35:16.85 ]
>>817
原則publicよりinternalスコープ使えって事だよ
いわせんな恥ずかしい

822 名前:仕様書無しさん mailto:sage [2012/05/26(土) 03:39:46.06 ]
>>110
うちマジで、
> 入口一つに出口一つ
になりそうで、逸脱するときは手続きとれって事になりそうなんだけど、
まぁ俺今品証で直接は関係ないんだけど、文句でないのが不思議だ。
レガシーコードの中には間違いなくあると思うんだけどな。
みんなソース見せてくれないんで知らないけどw

823 名前:仕様書無しさん mailto:sage [2012/05/26(土) 04:32:07.43 ]
perl書くときに、どうせ人に見せる事もないので、
C言語のように、main文がほしいと思って

#!/usr/bin/perl -w
use …

&main;

sub main{

}

と書いてますが、イラッつとしますか?

824 名前:仕様書無しさん mailto:sage [2012/05/26(土) 19:45:38.20 ]
他人に見せないのなら気にすることはない

825 名前:仕様書無しさん mailto:sage [2012/05/26(土) 20:32:38.77 ]
>>823
最初からそう書くことは少ないけど、段階的にそうなることはあるなw

ベタで書く→サブルーチンを分ける→途中の修正で、面倒くさいからとグローバル変数を直接参照する
→収拾がつかなくなってきたところでmainを分離して、出てきたエラーを一気に修正する

826 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:27:34.77 ]
オブジェクト指向ですね

827 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:55:23.91 ]
違うから

828 名前:仕様書無しさん mailto:sage [2012/05/26(土) 22:30:59.78 ]
>>823

-w は今時使わない
& は今時使わない

お前のコードは古い。

829 名前:仕様書無しさん mailto:sage [2012/05/26(土) 23:05:10.42 ]
即ちイラッつとするコーディングスタイルである



830 名前:仕様書無しさん mailto:sage [2012/05/27(日) 10:52:44.39 ]
軽口叩いてるコメントって書くのはいいけど読まされるとイラッと来るからやめて欲しい

831 名前:仕様書無しさん mailto:sage [2012/05/27(日) 11:13:42.55 ]
まともな神経してたら、書くのも違和感を覚えるだろう。

832 名前:仕様書無しさん mailto:sage [2012/05/27(日) 12:26:47.70 ]
変数名や関数名にROMAJIを使わないでください

833 名前:仕様書無しさん mailto:sage [2012/05/27(日) 16:58:11.32 ]
samuraiとかninjaみたいに、英語にしたくてもアッチの国でローマ字で通っちゃってる言葉の場合はどうすればいいだろう。

834 名前:仕様書無しさん mailto:sage [2012/05/27(日) 17:07:07.97 ]
>>833
それは立派な英語だろ

835 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:23:27.48 ]
配偶者特別控除なんて変に英訳されたらたまらん。

836 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:54:28.02 ]
それはコード内で識別子に使わずに文字列データとして扱うべし

837 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:21:47.22 ]
HaiguusyaSpecialKoujo

838 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:36:18.74 ]
某社の自治体向けパッケージではそのまま「配偶者特別控除」だな
個人的には漢字識別子名は邪道だと思うが、視認性がずば抜けてるのは認めざるをえない

839 名前:仕様書無しさん mailto:sage [2012/05/28(月) 00:23:45.53 ]
// オブジェクト作成に必要なコードをこの下に挿入します。



840 名前:仕様書無しさん mailto:sage [2012/05/28(月) 01:17:07.48 ]
if(1==a) というスタイルで書かれたソースをメンテしたときに、
for(i=0;10>i;++i)
i[dst]=i[src];
というコードを追加してやった。

841 名前:仕様書無しさん mailto:sage [2012/05/28(月) 02:08:59.50 ]
>>840
普通に意味分かんない。
dst[i] = src[i] か?

842 名前:仕様書無しさん mailto:sage [2012/05/28(月) 06:21:33.73 ]
a[b]でもb[a]でも参照するアドレスが同じ言語があるらしい
そう皆さんもよくしってるあれです

843 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:01:57.72 ]
意味がわからずただ反抗するバカっているよな

844 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:02:58.73 ]
意味がわからずただ反抗するバカっているよな

845 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:10:25.95 ]
>>809
_大文字や__はCなら予約語だな。
#ifndef __HOGE_H__
とかもイラッとする


846 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:33:29.24 ]
>>841
Cすらわからん奴がここにいるとは、信じられん

847 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:45:44.74 ]
わかりやすく書け、ってちょっとイラッつとしたw

848 名前:仕様書無しさん mailto:sage [2012/05/28(月) 16:14:24.26 ]
そういうネタだろう

849 名前:仕様書無しさん mailto:sage [2012/05/28(月) 17:40:17.47 ]
>>832
ローマ字でもあってればまだいい。
一見英語なんだけどつづり間違いってのがあって
どんだけ直したかったかw



850 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:22:44.61 ]
ここでもまたUwaRiteか

851 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:38:56.59 ]
この板の伝説の逸品のひとつだな

852 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:38:10.07 ]
>>840
if(1==a)
for(i=0;10>i;++i)
はありだな。定数が左に来ないと
比較演算子が画面右に寄って見づらい

853 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:50:05.01 ]
結局>>840はどういう意味なんでしょうか?
Cはやったことが無いのでまったく意味がわかりません
誰か教えてください。

854 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:00:25.08 ]
Cの配列はポインタみたいなものだっけ
もう五年くらい触ってないから忘れた

855 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:03:06.42 ]
>>852
10>iはちょっといやじゃね?
数学の書き方からの借用でi<10が世界標準なきがする

856 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:18:07.63 ]
>>853
>>855

857 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:53:36.86 ]
>>853
通常、a(変数)==1(定数)って書く条件式を逆に記述してるから、他も入れ替えて記述したった!って事よ。

858 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:05:01.58 ]
バカじゃないなら=を書き忘れた時の対策になる書き方の癖を付ける前に
=を書き忘れない癖を付けるもんなw

859 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:08:17.86 ]
フェイルセーフ



860 名前:仕様書無しさん mailto:sage [2012/05/29(火) 04:51:14.73 ]
癖の問題じゃねえよどう考えても

861 名前:仕様書無しさん mailto:sage [2012/05/29(火) 05:48:59.62 ]
int arr[]={
  1
  ,2
  ,3
  ,4
  ,5
};
という最高にメンテしやすい表記編み出したんだけど使っていい?

862 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:32:50.37 ]
>>857
左に変数書くのは常識でも何でもないのに身勝手極まりない話だよ
寧ろ左に定数置く方が多数派だろうに。

if( S_OK == Xxxx() )
オプソや、MS、Oracleなんかのサンプルコードじゃ大概
こんな風に左定数。

863 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:34:03.20 ]
>>857
>i[dst]=i[src];
この部分は動くんですか?

864 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:44:33.06 ]
>>863
*( i + dst ) = *( i + src );

865 名前:仕様書無しさん mailto:sage [2012/05/29(火) 08:14:25.89 ]
言語実装上の間抜けな穴と認識している
動作が同一だからといって文法に基づく意味が同じとはいえない

866 名前:仕様書無しさん mailto:sage [2012/05/29(火) 12:40:39.34 ]
>>858
一つの言語しか使えない土方はそうかもしれんが、
たいていのプログラマは複数の言語を使うわけよ
等号が = な言語で仕事しているときに、ちょっとデバグでC++のソースを触ったりすると、
間違えることもあるのだよ

867 名前:仕様書無しさん mailto:sage [2012/05/29(火) 13:06:33.50 ]
まともなプログラマなら「運が良ければエラーになる」ようなものに頼らない。

868 名前:仕様書無しさん mailto:sage [2012/05/29(火) 14:57:58.26 ]
逆にSQLとか書いてると==でエラー吐かれてずっと悩む時があるもんな…

869 名前:仕様書無しさん mailto:sage [2012/05/29(火) 16:41:24.05 ]
ねーよ



870 名前:仕様書無しさん [2012/05/29(火) 18:19:43.91 ]
>>863
自分で試さない奴がいちばんイラッつとする。

871 名前:仕様書無しさん [2012/05/29(火) 19:43:14.85 ]
int a = 0 ;
int b = 0 ;
scanf("%d %d" , &a , &b ) ;
a ^= b ^= a ^= b ;
printf(" a = %d \nb= %d\n" ,a , b ) ;

みたいな感じで、一行スワップ書いたら怒られた

872 名前:仕様書無しさん mailto:sage [2012/05/29(火) 19:53:53.57 ]
怒られたのはたぶん scanf() なんて使ってるから

873 名前:仕様書無しさん [2012/05/29(火) 20:11:27.21 ]
scanfって一度の使ったことない

874 名前:仕様書無しさん [2012/05/29(火) 20:38:37.38 ]
>>872
>>873
いや、実際にscanf使ったわけじゃないから。

875 名前:仕様書無しさん mailto:sage [2012/05/29(火) 21:54:21.53 ]
>>872
何でだよ
scanfのパターンマッチが理解出来てねぇだろお前

876 名前:仕様書無しさん mailto:sage [2012/05/29(火) 22:07:31.87 ]
aとbが同じ値のときのこと考えてないから怒られたらんじゃね?

877 名前:仕様書無しさん [2012/05/29(火) 23:15:03.81 ]
>>871
自己満のトリッキーコード書く奴は怒られて当然
どうしてもそれがやりたきゃせめてマクロ化だろ

878 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:20:00.07 ]
>>871はそれ書いて何がしたかったの?
格好つけたかったのか?

879 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:27:30.27 ]
入力にscanfを使っても何も感じない馬鹿が1名いるな
特有の臭さがあるんでこいつのレスはすぐ分かる



880 名前:仕様書無しさん mailto:sage [2012/05/30(水) 01:19:50.06 ]
やっぱsscanf_sくらいは使って欲しいよな!

881 名前:仕様書無しさん mailto:sage [2012/05/30(水) 04:12:19.10 ]
sscanfなんざ使うよりscanfの方が安全だし、
文字の取りこぼしも少ない
実際scanfを使うことは少ないが、
一時ファイルなんかを対象にfscanfを
使うことは多い

882 名前:仕様書無しさん mailto:sage [2012/05/30(水) 06:17:59.87 ]
まあたまにやりたくなるよな
地獄のミサワ

「ふ〜ん、このトリッキーコード、3年位前に俺も思いついたわ〜」とか

883 名前:仕様書無しさん mailto:sage [2012/05/30(水) 07:01:00.94 ]
sprintf(buf,…);
int len=strlen(buf);

884 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:43:58.62 ]
>>881
ひょっとしてギャg(ry

885 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:44:55.03 ]
>>866
ない。

886 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:45:33.57 ]
>>862
ひょっとしてギャg(ry

887 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:47:55.32 ]
>>861
前職場の同僚にいたなあ>先カンマ
今のC/C++だと後カンマで書けと言わんばかりの仕様なんだが

888 名前:仕様書無しさん mailto:sage [2012/05/30(水) 15:59:23.52 ]
アホみたいにステップ数を稼ごうとするのはコボラー時代からの悪習

889 名前:仕様書無しさん mailto:sage [2012/05/30(水) 17:46:05.44 ]
前に見たC++のコードで

while(1) {
int Hoge = Hage();
if (Hogeの判定) {
goto Label;
}
break;
}


Lablel: :

ってのがあったんだけど、エラー処理にgoto使っているせいで変数宣言に
いちいちエラーが出るのを回避するためににやっていたみたい。
よくまあ思いつくなぁwwwと思ったんだが、ちょっとイラッつとした。




890 名前:889 mailto:sage [2012/05/30(水) 17:48:27.06 ]
× Lablel
○ Label


891 名前:仕様書無しさん mailto:sage [2012/05/30(水) 18:20:27.23 ]
>>889
longjumpだっけ?
関数越えのgoto
それしないだけマシだと思う。

892 名前:仕様書無しさん mailto:sage [2012/05/30(水) 19:34:40.78 ]
>>886
は?scanfの使い方も知らん素人が
マ板なんか来るなよ

893 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:00:39.11 ]
>>892
背伸びしてレスしても恥かくだけだよ
fscanfとsscanfは稀に使うことはあるが、scanfを使うことはまずない

894 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:03:28.25 ]
>>893
fscanfの話してたんだけど
つかレス番まちがえた >>884 だったな紛らわしい

895 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:05:56.45 ]
try/finallyやまともな一行入力ライブラリが
標準でついてない糞言語にイラッと来る

896 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:25.16 ]
>>887
長いSQL書いてたときは間カンマ(カンマで1行とる)にしてたなぁ。
あとSQLだと、

WHERE 1=1
AND a=hoge
AND b=hage
...

なんてのも。

897 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:26.50 ]
>>886
事実ですが
msdn.microsoft.com/ja-jp/library/cc305629.aspx

898 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:23:08.56 ]
WHERE
  1 = 1
 AND
  a = hoge
 AND
  b = hage

899 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:03:52.60 ]
>>897
これは?
msdn.microsoft.com/en-us/library/windows/desktop/ms724426%28v=vs.85%29.aspx



900 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:06:58.12 ]
全体として少数派

901 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:08:52.98 ]
てっきりコピペしてそのまま使わせないためにそうしてるものかと思っていた時期が私にも

902 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:49:22.51 ]
>>897
そもそもネストが深すぎだろw

903 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:59:51.00 ]
サンプルなんて盲信するなよ

904 名前:仕様書無しさん mailto:sage [2012/05/30(水) 22:40:23.90 ]
どこぞの教科書やサンプル通りに右に定数書くヤツは
条件分岐で何を一番に見るか考えてない


905 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:30:29.43 ]
>>904
$ tar xfJ linux-3.4.tar.xz
$ cd linux-3.4/
$ find . -name '*.c' | xargs pcregrep '==\s*[A-Z0-9_]+' | wc -l
127939
$ find . -name '*.c' | xargs pcregrep '[A-Z0-9_]+\s*==' | wc -l
6971

フム・・・・
定数が右ばかりにあるLinuxは危険だ。
今すぐインターネットから切断した方がいい。


906 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:34:56.89 ]
定数というより式であるモノを持って来てドヤ顔
しかも何が問題か解ってないという

907 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:03:00.58 ]
そもそも「定数を左に置く」なんてC/C++のバッドノウハウであって、
警告レベルを上げたり静的解析ツールかませば一発で解決すること
まぁ、C/C++はともかくとして、それをC#やJava等の他言語で実践している奴にはマジでイラッとくる

908 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:10:14.91 ]
なんてこった読みやすくて素晴らしいGNUスタイルは定数を右に置くのか
しかし、定数だけGNUスタイルに合わせるのは問題だな
改行もインデントも至高のGNUスタイルにあわせなきゃっ!

909 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:12:53.26 ]
未だ定数を左に置くのはエラー出すためだけだと思ってるヤツが居るんだな()



910 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:17:41.38 ]
>>909
他に何があるっていうんだい?

911 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:20:34.98 ]
定数を右に書くヤツは数個前のレスすら読めないそうだ

912 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:27:53.74 ]
while( GetMessage( &message, 0, 0 ) > 0 )
読みづらいっつうの






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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