トップページ⇒tech
90コメント21KB

Cソースの折り返しがうざい。

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんNGNG
一応これを仕事にして生きながらえています。で、日頃感じるんだけど、
同職の他の人が書いたCソースの中でも、改行せずに1行が際限なく長く、
折り返しが激しいやつは見ていてうざい。
フォートランやコボルみたいに1行80文字までって制限されていた方が
すっきりして見やすいと思うけど、みなさんはどう思う?
0002名無しさん@お腹いっぱい。NGNG
雑談スレッドが必要かな、と思った。
0003名無しさん@お腹いっぱい。NGNG
エディタの折り返し文字数を大きくして
折り返さないようにすればいいんではないの?
0004名無しさん@お腹いっぱい。NGNG
>すっきりして見やすいと思うけど、みなさんはどう思う?
くだらんスレ立てるやつがいなくなったら2chは
すっきりして見やすいと思うけど、1さんはどう思う?

ツーカうざいから氏んでくれ
0005名無しさん@お腹いっぱい。NGNG
WindowsのAPIの名前なんかは長いのが多いから必然的になってしまう気がする。
クラスメソッド名も長いのあるし。
妙な所で折り返されるよりはマシって感じですが。
0006名無しさんNGNG
>4んでくれ。
0007名無しさん@お腹いっぱい。NGNG
>5
関数は、引数ひとつひとつで改行すれば問題なし。
foo(
a@`
b@`
c);
みたいに。
0008名無しさんNGNG
私は15インチディスプレイで解像度1024×768以上にすると氏んでしまう。
800×600がいいとこ。だから1行文字数の設定ははMIFESでは85文字、
TeraTermでUNIXサーバに入る場合は80文字にしている。1に同意。

00091NGNG
4は話す価値のない厨房。
ツーカうざいから削除依頼したい。
0010名無しさん@お腹いっぱい。NGNG
アホ>7
0011名無しさん@お腹いっぱい。NGNG
こういうのは良くやるなあ
printf(
  "アホ>%dは"
  "逝って"
  "良し!\n"
  @`7
  );
0012名無しさん@お腹いっぱい。NGNG
>>10
おまえもな。
0013名無しさん@お腹いっぱい。NGNG
こういうのは良くやるなあ
printf(
  "アホ>%dは"
  "逝って"
  "良し!\n"
  @`7
  );
0014名無しSUNNGNG
>10
けど、7が言うようなスタイルをコーディング規約に取り入れているエンドユーザは結構多い。
0015名無しさん@お腹いっぱい。NGNG
10=11って、人のソース読んだことないのでは?

0016名無しさん@お腹いっぱい。NGNG
アホは言い過ぎたよ。
だからってあげるな>14
00177NGNG
CreateWindow()関数を書くときは、だいたいこの形式です。
0018名無しさん@お腹いっぱい。NGNG
>>16
二重カキコよりはまし。
0019名無しさん@お腹いっぱい。NGNG
いっとくが、7と14は別人。
0020名無しさん@お腹いっぱい。NGNG
>>8
視力悪くない?
俺は15インチディスプレイで 1280*1024 で表示させてるぞ。
これでもまだ字が大きい。
VCのエディタやメモ帳では画面に入る文字が少ないのでワードパットで書いたりしてる。
0021名無しさん@お腹いっぱい。NGNG
どうしたらそういう思考に辿り着くのか。
アホ確定ですね。>15
0022名無しさん@お腹いっぱい。NGNG
>21
7のような書き方を見て、一発でアホと言ってのけるところ。
002322NGNG
さらに、何の理由も書いてないところ。
00248NGNG
細かいと長時間やっていて疲れる。
0025名無しさん@お腹いっぱい。NGNG
>>18
はいはい。2重カキコは不可抗力だよ。

>>20
真性のアホ釣れました。
002620NGNG
>>25
アホはお前だ!
短小ヅラは氏ね!!
0027名無しさん@お腹いっぱい。NGNG
もしかして、21=25って単なる荒し?
だとすれば、相手している俺は確かにアホだ。
00287NGNG
>>26
まあまあ、おこるなって。
25は、いきなりアホ呼ばわりして、理由も書けない消防なんだから。
0029名無しさん@お腹いっぱい。NGNG
>>27
書き込み見て判断できないのか?
0030名無しさん@お腹いっぱい。NGNG
>>26
はいはい。真性は言い過ぎたよ。
なんでtィムポの話になる?図星だったのか…
0031名無しさん@お腹いっぱい。NGNG
久しぶりにこんなこっぱずかしいスレを見たよ・・・俺
0032名無しさん@お腹いっぱい。NGNG
>>31
じゃあ、初めから、この板くるなヨナ〜(w
00337NGNG
そろそろ、フォーマットも終わったので、
馬鹿アラシ君ともさようなら。
00342NGNG
(藁
0035名無しさん@お腹いっぱい。NGNG
>>33
フォーマットって何?わけわからん。
0036名無しさん@お腹いっぱい。NGNG
要するに7は、ディスクかなにかのフォーマットしてて、
暇だったから35の相手をしてたといいたいのでは。
それが終わって、次にやることがあるから相手してられない、
「さようなら」と言っているわけだ。

0037名無しさん@お腹いっぱい。NGNG
>>36
はいはい。
つまり、7はアホで正解だったんですね。
0038名無しさん@お腹いっぱい。NGNG
>>37
なんで「7はアホ」にこだわるのか。
そこらへんがよくわからん。
0039名無しさん@お腹いっぱい。NGNG
age、プ。
0040名無しさん@お腹いっぱい。NGNG
「7はアホ」なのは、ひいおばあちゃんからの遺言だからです。
0041名無しさん@お腹いっぱい。NGNG
ってゆうか1行80文字とか変な風に数で区切らないで意味で区切れよ。
クラス名とか引数が長かったり多かったりするから、
1行80文字は無理な気がするよ。
0042名無しさん@お腹いっぱい。NGNG
「右端で折り返す」の、切り方しらないとか。
0043名無しさん@お腹いっぱい。NGNG
「7はアホ」君、逝ってよし by 7 (w

0044名無しさん@お腹いっぱい。NGNG
int foo(
int aa@` //この引数についてのコメント
int bb //同上
){

(関数本体)

}

みたいな書き方はしているが…ダメか?
0045名無しさん@お腹いっぱい。NGNG
ん?うまくいってないな…
int foo(
int a@` //自身と目標のx距離
int b //自身と目標のy距離
){
0046名無しさん@お腹いっぱい。NGNG
タブが入らぬ。
鬱だ寝よう…
0047名無しさん@お腹いっぱい。NGNG
>>43
あ、アホが帰ってきた。
やっぱり7はアホだから、一晩中フォーマットするのかな。

>>46
7がアホなせいです。
この掲示板では、全角スペースなどで代用します。
0048名無しさん@お腹いっぱい。NGNG
「7はアホ」君も帰ってきたね。何をわけのわからんことを言ってるんだ。
ドキュソは、さっさと逝ってください。
0049名無しさん@お腹いっぱい。NGNG
「7はアホ」君は、アホ以外の言葉を知らんらしい。
0050名無しさん@お腹いっぱい。NGNG
「7はアホ」君の書いたプログラムって、どの程度?
printfも改行してるみたいだから、行数は稼げるか。(w
0051名無しさん@お腹いっぱい。NGNG
>>47-48
それでもやっぱり7がアホだからね♪
そろそろ逝ってきます。
0052名無しさん@お腹いっぱい。NGNG
それでも、アホしかいえんのか。
どうしようもないな、逝ったままでいいよ。(w
それが、世のため、人のため。
0053名無しさん@お腹いっぱい。NGNG
7を煽ってる奴はなんでだ?
俺もあんな書き方するぞ。
0054名無しさん@お腹いっぱい。NGNG
コーディングなんか各自で犯りたいように殺れ!
0055名無しさん@お腹いっぱい。NGNG
>>53
そりゃ、まともなプログラムを書いたことないからでしょ。
005655NGNG
主語がぬけた。もちろん、「7はアホ」君が、です。
0057名無しさん@お腹いっぱい。NGNG
1行70文字で書いてます・・
上限は1行80文字だけど、AS/400にも持っていくのでSO/SIコードが
割り込むことを考えて70文字を標準に。
最初は「ひえーかきにくいー」と思ったけど、ネストをできるだけ
浅くする癖がついたりして、慣れてくるとこれでも良し。
0058新米ギコNGNG
  ∧∧
 ¶( ゚Д゚) < GNUのコーディング規約って7みたいなやつじゃなかったか?
 ゝ|U |┐ 引数のところを改行するってやつ
 (@`|/  |┘
  U U
0059興味ない、どーでもいーNGNG
>フォートランやコボルみたいに1行80文字までって制限されていた

これって今でも真?
0060名無しさん@お腹いっぱい。NGNG
名スレの予感
0061名無しさん@お腹いっぱい。NGNG
ほんと、どーでもいいスレ・・・
00622chらしいスレだなぁ(マターリ)NGNG
俺は横にずらーって書くな。Winだから120文字くらいはフツーに表示できるし。
Winのプログラムは関数が長くてつらいねぇ、
::の付いた宣言とか使うとすぐに80文字は越えてしまうよ。
21インチのモニタを買って150文字*80行くらい表示したい。
0063名無しさん@お腹いっぱい。NGNG
ageちまった。スマソ。
0064名無しさん@お腹いっぱい。NGNG
*BSDのソース、というかKNRでは歴史的に(新しく書かれた部分も)80までになってるな。
時々ネストが深くなっている所はかなり見苦しくなってるんで、そこまで厳密に
守る事もなかろーに、と思ったりする。
0065デフォルトの名無しさんNGNG
まさか、あのときのはんにんが、うんてんしゅのあおき。
0066デフォルトの名無しさんNGNG
秀丸のデフォルトも折り返し200だったはずだし、今時80っつーのはどうかと。
俺は100前後かな。
0067デフォルトの名無しさんNGNG
なるべく引数を少なくして、
forループは2重入れ子までにして、
なんとか80字以内に納めたら、
結果的にデバグしやすい形になったなあ。
0068ぱくぱく名無しさんNGNG
>67
>なるべく引数を少なくして、
はぁ?って感じなんだけど。引数の数を「少なく」なんてできるの?
0069>69NGNG
>>なるべく引数を少なくして、
>はぁ?って感じなんだけど。引数の数を「少なく」なんてできるの?
OOPでは常識です。
0070デフォルトの名無しさんNGNG
きれいに設計すれば引数の数を少なくできるはず。
それが無理なら、元の構造が破綻していると思った方がよい。
0071デフォルトの名無しさん NGNG
>>62
C++もTurbo Pascal / Delphi のように、with が使えれば
さほど長くならなくて済むのだがと時々思うのだがどうか。
hoo = record
a : Integer;
b : Real;
end;
var hoge : foo;
のとき、
hoge.a = 1;
hoge.b = 2;
は、
with hoge do
a = 1;
b = 2;
end;
のように書ける。もっとも、これはコンパイラの特性に依存している機能だが。
0072デフォルトの名無しさんNGNG
withあるといいね。
あと、関数内に関数を定義できるのも良いかも。
0073デフォルトの名無しさんNGNG
>>68
構造体(クラスでもいいけど)を使えってことさ。
0074デフォルトの名無しさんNGNG
>>72
激しく同意
0075デフォルトの名無しさんNGNG
grep掛けるとき厄介になるだろ。
0076デフォルトの名無しさんNGNG
>>71
だからこそのOOPだっつーの。
hoge.set(1@` 2); とか書け。
Del厨ウゼェ。
Delスレでキズでも舐めあっててください。(藁
0077デフォルトの名無しさんNGNG
OOPで何でも解決できると思ってる、お気楽なヤツが羨ましいよ。
0078デフォルトの名無しさんNGNG
>77
おまえ、OOP分かってないだろ。
0079デフォルトの名無しさんNGNG
>76
なんでDelなの?VBにもwithはあったような。
それにOOPでもwithは有用。確かに70のいうように設計をうまく
やれば引数を少なくしたり71の場合なら76の方法もいいけど、
複雑なライブラリとか使うときに便利になるじゃん。
008076NGNG
>>77
をいをい、本気で言ってんのかよ・・・
少なくともC++での上のwith問題は解決できるぜ?

>>79
>>71がpascal/delphiを引き合いに出したから。
つうかVBはハナっから眼中に無い。
>複雑なライブラリ
既に問題。簡潔にしよう。
008179NGNG
いや複雑なライブラリといったのはhas_aが連なってるようなやつの事、
JavaとかC#のサンプルでもそういう時は一度、一時変数に入れたりする
けど、with文なら同じことができるっていうこと。
人によるだろうけどおれは便利だと思う。
008279NGNG
あと既成のライブラリのことについて書いてます。
0083デフォルトの名無しさん NGNG
でかい構造体の初期化のときとかに、欲しくなるけどな。
OOPで、どううまくカバーするのか教えて欲しい。マジで。
0084デフォルトの名無しさんNGNG
>>83
初期化ならコンストラクタで書けば?
0085>83NGNG
a.b.c.d := 1;
a.b.c.f := 2;
を
proceudre init_c(c: TC); begin
 c.d := 1; c.f := 2;
end;

init_c(a.b.c);
ってやるだけでしょ。べつにOOPは関係ない。
それにwith@` ローカル関数はただのシンタックスシュガーだから
他言語に比べて生産性にはさほど影響しないよ。
VCなんかには入力支援があるしね。
008683NGNG
ありがとう。参考になりました。
これからもコピペしまくることにします。
0087デフォルトの名無しさんNGNG
>83
初期化のパターンがある程度決まってるなら、Prototypeパターン使うだけ。
決まってないなら、例えば初期化用データ持ってるオブジェクトを直接引数で与えると
初期化してくれるコンストラクタ作るだけ。
前者なら引数はPrototype選択のキー値1個だけ。後者ならそのオブジェクトの個数だけ。

ちなみに、OOPではプリミティブ値を直接渡してコンストラクタを起動するようなことは
大きなクラスでは普通やりません。
0088デフォルトの名無しさんNGNG
結局、Win32APIとかで定義されてるのは初期化用の関数作る
しかないのかね。
0089デフォルトの名無しさんNGNG
>>83
「だけ」が多いな。
「OS作るにはプログラム書くだけ」か?

> 大きなクラスでは普通やりません。

じゃどうすんの?
クラスの大きさと関係ないでしょ。
アプリケーション依存のクラスはシリアライズの関係で
AbstractFactoryとか適用するために
一定のフォーマットにのっとった引数しか渡さない
(経験的には何も渡さない)ことは多いけどさ。
0090>83NGNG
ごめんなさい。
Prototypeって響きがかっこよさげなので
つい使ってしまいました。
■ このスレッドは過去ログ倉庫に格納されています