【プログラミング】省略表現【プログラミング】
■ このスレッドは過去ログ倉庫に格納されています
0001(゚▽゚*)
NGNG「stdio」が「standard I/O」だったりプログラミングにおける省略表現をまとめてみよう!!
0002デフォルトの名無しさん
NGNGそんな表現イラネーヨ
今の時代、ちいち省略する奴はソースコードを汚すアフォ
00031
NGNGみなさんの知ってる省略表現を書き込んでほしいです。
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG∴…ゆえに
0006デフォルトの名無しさん
NGNGその省略名はプログラミングとはほとんど関係ないんじゃないか
単なる知識だ 技術にくっついてる名前
プログラミングは技術の中身の方を操るもんであって、名前はかなりどうでもいい
00071
NGNGridxやcidxとか、知ってた方がプログラムを理解するスピードは速まります。とくに初級者には。
省略表現はなくなりつつありますが、まだ顕在していることもたしかなのです。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGループ変数にiとかjとか使ったり、ループイテレータにit使っちゃ駄目なんですか?
00121
NGNGcidx=行
だそうです。なんの単語からの省略かは知りません。。。
0013デフォルトの名無しさん
NGNG例えばReverse Indexだったら、
reverseIndexって変数名にしろよ。
藻前のコンパイラには4文字制限でもあるのか?
0014デフォルトの名無しさん
NGNG適切な変数名をつけようってのではなく、
命名のイディオムを知ろうってのがこのスレの趣旨じゃないのかな。
0016デフォルトの名無しさん
NGNGlineIndex
って書けよ。何の略かも分からないような変数使うなよ。
0017デフォルトの名無しさん
NGNGrow index
column index
だとすると行と列が逆だな…
0019デフォルトの名無しさん
NGNG省略表現だろうと非省略表現だろうと単なる無意味な記号列なんだろうな。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGそれじゃ、省略表現を知ろうと素人が求めるより、
辞書を繰ろうと玄人がマキ蔵人←この行間違い
省略表現をやめようと玄人が呼びかけるほうが本質じゃないか。
>>2 の言う通り、いまどき必要ないけど。
要するにお前の職場の古いソースが読みにくいって話だろ。
0022デフォルトの名無しさん
NGNGふーん。そうやってアメリカのいいなりになるのか。
0023デフォルトの名無しさん
NGNGマルチ HMX-21
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG英語はイギリスだろ。
アメリカは米語。
0026デフォルトの名無しさん
NGNG無理に英語にすると後悔する。
00271
NGNG必要ない必要ないではなくて、実際存在するから知ってて損はないです。
なにか、知ってる省略表現があったら書き込みよろしくおねがいします。
省略表現を議論するスレッドではなく、持ってる知識を提供しあうスレッドという趣旨を理解してください。
おねがいします。
0028デフォルトの名無しさん
NGNGridx:読み込みインデックス
cidx:カレントインデックス
なんだが・・・
0029デフォルトの名無しさん
NGNG00311
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGマジレスすると
length
character
が一般かと
制御系の俺だと、
chはchannelだがな
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGあり。length:高さ、長さ
ってことですね。
0036デフォルトの名無しさん
NGNG/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | // ___ \ ::::::::::::::| >>lengthが高さ・・・
| | | | | U :::::::::::::|
| | |U | | ::::::U::::|
| | | ├―-┤ U.....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGまだ、10個も出てないわけだが・・・
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG省略しても良いのはループ変数の一部だけだよ
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG> colunmnIndex
> lineIndex
matrixの行列を
lineとかcolunmnとか書く奴は消えてくれ
rowにcolumnと書きやがれ
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGop=outer product
0048デフォルトの名無しさん
NGNGouter-product -> cross
でいいじゃん
0049デフォルトの名無しさん
NGNGなぜdot?
0050デフォルトの名無しさん
NGNG内席は a・b と書く なので dot productとも言う
0051デフォルトの名無しさん
NGNGそのときは別の意味で既にdotという言葉が使われたりするので
注意が必要だ。
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGはぁ?
面倒くさいってどういう意味?
0054デフォルトの名無しさん
NGNGありがとうございます。
ipやopとは日本語訳にするとどうなるでしょうか?辞書を見ても適しそうな訳が見つからないもんで。
それでなければ、使用例を教えてくれればありがたいです。
0055デフォルトの名無しさん
NGNGあと、POPが何の略とか考えてみるのも楽しいですよね。答えをみてみると、あぁ納得ってかんじで。
ここまでくると、いた違いになってしまいますがね(;´瓜`)
0056デフォルトの名無しさん
NGNGFILE *ip; //infile pointer
FILE *op; //outfile pointer
double i,n,l,p,ip,ipp; // ip=i+p, ipp=i+p+p
char op[100]; //out printer name
0057デフォルトの名無しさん
NGNG内積、外積だよ
0058デフォルトの名無しさん
NGNGI/O は、Input Par Output?
0059デフォルトの名無しさん
NGNGなのに、ActiveX Data Object だと、ファイルとかんけいないのに、EOFってメソッドで、最終行判定してるのね。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGとりあえずメジャーどころで。
0062デフォルトの名無しさん
NGNGstandard ┬ Input
└ Output
0063デフォルトの名無しさん
NGNGGNU: Gnu is Not Unix
~~~~
↑これは?
0064デフォルトの名無しさん
NGNGただの循環定義ですが何か。
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG所詮プログラマーのオナニーだ
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGstring complement span
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG1やIと勘違いしそうで。
0073デフォルトの名無しさん
NGNG4重ループの変数。(w
int i,j,k,l;
for(i=********){
for(j=******){
for(k=******){
for(l=*******){
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG4重なんてまず書かないのは同じだが。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNGi, j で2重ループを作る
↓
実はその外側にもう1つループが必要だってことに気づく
↓
外側ループ用の変数 h を新たに宣言
なんてことをよくやってしまいます・・・
0078デフォルトの名無しさん
NGNGプログラマーならそういう見間違いを防ぐようなフォントを使うのが常識
1とlを見間違うミスをする奴は
そもそもそんなミスを起こしてしまう環境を
放置してるあたりが落ちこぼれ
0079デフォルトの名無しさん
NGNGプロなら、そんな見間違いをしやすい文字はやはり避ける
自分だけ見るものじゃないんだから
バージョン番号等に、アルファベットが入る場合も、
OとIの使用は避けるほうが常識だと思うが
そんなことを気にしない>>78は、アマチュア
008077
NGNG×外側
○内側
外側だったら素直に k をつければいいじゃん
何書いてたんだろ俺・・・
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGみんな放置はしてないんじゃないかな?
フォント設定する人もいれば、
使用を避ける人もいるわけで
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGそれ以上だとさすがに混乱を招くので意味を持った変数に置換する
0087デフォルトの名無しさん
NGNG打つのめんどいし。
0088デフォルトの名無しさん
NGNG編集やデバッグを行なわないならそれは正しいと思うが、
一般的に編集やデバッグを繰り返すと一文字の変数名の方が手数が増えてくる。
#尤も、検索もインクリメンタルサーチも使わず只管ホイールマウスを回すような香具師は例外だが。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG何か便利で手軽な方法あるの?あれば教えて( ゚д゚)ホスィ…
0091デフォルトの名無しさん
NGNG色々言い訳もございましょうが、複数文字の変数と違って
なんかしらの手数が掛かることに違いはないでしょ。
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG↓
s/\<a\>/no/g
↓
int no; // this is no number
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG009690
NGNGっていうか\<\>で特定できるの?単語境界って演算子なんかも含まれたっけ?
あと、細かいことだけど、置換する前に置換後の語で検索しないと・・・
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGという例を示したつもりだったのだが…_| ̄|○
aという変数名を置換しようとすると、コメント中にある冠詞のaや数式のaもひっかかって
しまうよね。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG> あと、細かいことだけど、置換する前に置換後の語で検索しないと・・・
Why?
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNGbならどうよ?
0103デフォルトの名無しさん
NGNGコメントの中にある顔文字にマッチする。
// (^-^)b
0104デフォルトの名無しさん
NGNGCで検索すると大量に出てくるし、Cと略されることが多いから
C言語で検索すると必要な情報にもフィルタがかかってしまう
ことがある。
DelphiとかPerl、Pascalとかなら、言語名を検索ワードに入れ
るだけでかなり限定されるし、必要な情報を落とすことも少な
いと思う。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGそんなの日本だけだろ
0107デフォルトの名無しさん
NGNGそれを反省したC++では、せめて予約語だけでもと、
reinterpret_cast など、嫌がらせのような長さで検索しやすくした。
0108デフォルトの名無しさん
NGNGいつもSplusで検索しているが…
0109デフォルトの名無しさん
NGNGCも1文字
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG|// /
/ ̄
|_∧
|ー゚) 呼んだ?
⊂|
| 〜
|∪
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG3重ループになったらリファクタリングを考えたほうがいいよ(メソッドの抽出)
x, y とかわかりやすい(対称)の以外は2重でも私はよくやりますが
「リファクタリング」は調べて記録しておくように>>1
0114デフォルトの名無しさん
NGNGFFTの3重ループをリファクタリングする方法を説明してくれよ
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGhttp://www.fftw.org/download.html
これでもどうぞ
0117デフォルトの名無しさん
NGNGどのアーカイブの、どのファイルの、どの関数の、どの部分?
0118デフォルトの名無しさん
NGNGそれ本気で言ってんの?
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGフーリエ変換してる部分ならどこでもいいのでは?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGフーリエ変換の場所すら分からないアフォに
FFTWのリファクタリングなんかできるわけない
0124デフォルトの名無しさん
NGNGfftw-3.0.1をちょっと覗いてみた(漏れ115じゃないよ,念のため)
"ここが FFT ですっ!!" て簡単にわかる感じじゃないよ,これ.
全部のファイルを見たわけじゃないけど,見た限りでは 3 重ループすら見つからなかったし.
0125デフォルトの名無しさん
NGNGきみはリファクタリングのことがちっともわかってない。
0126デフォルトの名無しさん
NGNGリファクタリングを勘違いしてるようだ
0127デフォルトの名無しさん
NGNGお前のようなアフォにはリファクタリングどころか
3重ループ外しすらできないだろうけど
for(int k=1;k<n;k*=2){
for(int j=0;j<k;j++){double r=PI*j/k;
for(int i=j;i<n;i+=k*2){int h=i+k;
double u=sin(r)*y[h]+cos(r)*x[h];
double v=cos(r)*y[h]-sin(r)*x[h];
x[h]=x[i]-u;x[i]+=u;
y[h]=y[i]-v;y[i]+=v;
}}}
試しにこれを「リファクタリング」とやらできるか?
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG>>113は「リファクタリングを考えた方がいい」という話であって
何が何でも2重ループ以内に収めろと言ってるようには見えないが・・。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGrfc1321に書かれてあるマクロ名GG HH IIは良くないとか
その手の突っ込み入れるキチガイがたまにいるから気を付けろ
って昔おばあちゃんが言ってたけど
それって君のことなんだね
自分のバグかコンパイラバグか分からなくて困っているという
質問者に対して「問題を再現させるための最小限のコードを書け」
という指示が出てそれに答えてシンプルなコードを晒したら、
それに対して「そんなプログラムをわざわざ作っても車輪の再発明だろ。
有り物のツールを組み合わせれば?」
と頓珍漢な突っ込み入れる馬鹿がたまにいるから気を付けろ
って昔おじいちゃんが言ってたけど
それって君のことなんだね
0132デフォルトの名無しさん
NGNGそういう馬鹿は大抵自分のバグなので問題なし
0133デフォルトの名無しさん
NGNG全然本質じゃない重箱の隅をつついて恥ずかしくないか?
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG変数名の命名しなおしも含めて
三重ループを二重ループにすればいいんじゃない?
0136デフォルトの名無しさん
NGNG0137113
NGNGこんなんでどないやろ。コードの意味がわかってないので
肝心のネーミングが改良できていないが。
class CCalc {
public:
double x[]; // size 2n ぐらい?
double y[];
const int n;
CCalc( int n_in ) : n(n_in) {}
void run()
{
for(int k=1;k<n;k*=2){
loop2(k)
}
}
void loop2( const int k )
{
for(int j=0;j<k;j++){
loop3( j, k );
}
}
0138113
NGNGvoid loop3( const int start, const int k )
{
const double angle=PI*start/k;
for(int i=start;i<n;i+=k*2){
calcOne( i, k, angle );
}
}
void calcOne( const int i, const int k, const double angle )
{
const int h=i+k;
double rotX;
double rotY;
rot( angle, x[h], y[h], &rotX, &rotY );
x[h]=x[i]-rotX;
x[i]+=rotX;
y[h]=y[i]-rotY;
y[i]+=rotY;
}
void rot( const double angle,
const double x, const double y,
doube* pRotX, double* pRotY )
{
*pRotX=sin(angle)*y+cos(angle)*x;
*pRotY=cos(angle)*y-sin(angle)*x;
}
} // end class CCalc
0139デフォルトの名無しさん
NGNGvoid f(double x[], double y[], int k)
{
for(int j=0;j<k;j++){
double r=PI*j/k;
int h=j+k;
double u=sin(r)*y[h]+cos(r)*x[h];
double v=cos(r)*y[h]-sin(r)*x[h];
x[h]=x[j]-u;x[j]+=u;
y[h]=y[j]-v;y[j]+=v;
}
}
for (int k=1;k<n;k*=2) {
for (int i=0;i<n;i+=k*2) {
f(x + i, y + i, k);
}
}
0140デフォルトの名無しさん
NGNG速度犠牲にして関数を分けて
見た目をスッキリさせるってこと?
0141デフォルトの名無しさん
NGNGまぁぶっちゃけそんな感じかなぁ?
0142デフォルトの名無しさん
NGNGループのネストを最大2にすることをリファクタリングと言うからな
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG馬鹿が一人いるようだが >>113
ああいうのを真に受けないように気をつけろ
0145デフォルトの名無しさん
NGNGリファクタリングの場合、
一時的に速度を犠牲にしても、見た目をすっきりさせる事で大局的には大幅な速度アップを目指す
事もある。
小手先でしこしこやってても10%速度アップするのも一苦労だが、アルゴリズムの改良に成功すれば一気に2倍速にするのも夢じゃない。
0146デフォルトの名無しさん
NGNGネスト数自体はまったく問題ではないんだよな。
問題は、往々にしてループの中に理解しにくい処理が書いてあることだ。
C++ならメソッドの抽出[Refactoring]をしたあとで、
そのメソッドをinline指定すれば、効率を変化させずに整理することが出来る。
Javaでも、HotSpotがあるし、実際の処理速度なんて測定してみなきゃわからないものだ。
「気になっていた書き方が、実測平均で2ms以下の差しかなかった」なんてことはよくある。
プロファイリング無しで「速度犠牲にして」なんて知ったかぶって語ってる
>>140みたいな奴の言うことなんて、真に受けないように気をつけろ。
0147デフォルトの名無しさん
NGNG有意な差がでたらどうするの ?
ループの中に理解しにくい処理が書いてあるときに, コンパイラが
inline 展開できないという状況は十分ありうると思うんだけど.
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGそりゃ展開するだろ
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG何故俺に聞く?
0153デフォルトの名無しさん
NGNG精神病院にゆけば?
0154デフォルトの名無しさん
NGNG精神科になれば?
0155デフォルトの名無しさん
NGNG>>151を見てなんでお前に聞いていると思うんだ?自意識過剰なんじゃないの?
0156デフォルトの名無しさん
NGNG>>154を見て何で漏れが>>152だと思う?変な関連付けするなんてお前の言葉をそのままお前に返すよ
0157デフォルトの名無しさん
NGNG>>152に対してレスした俺にレスしてきたんだから152だと思って当然だろ。
0158デフォルトの名無しさん
NGNGあっそう、まぁ別人だからどうでもいいやヽ(´ー`)ノ
0159デフォルトの名無しさん
NGNGお前だって俺は151だと思っただろ?
0160デフォルトの名無しさん
NGNG一瞬どういう意味か解らなかったけど、まぁ言われればそうかもね
0161デフォルトの名無しさん
NGNGだろ?151じゃないけどな。
つーか俺も153のような言い方はいくらなんでもまずかったか。スマソ
0162デフォルトの名無しさん
NGNG漏れ>>152じゃ無いので別に平気だよ。つか、漏れも紛らわしい事いってスマソ(;´д`)
0163デフォルトの名無しさん
NGNGああごめん、161の三行目の前に>>152と入れるのを忘れた。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG自作自演ご苦労
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG最近はリファクタリングって自動で出来るのか?!
0168デフォルトの名無しさん
NGNG自動リファクタリングツールを作ってください
0169デフォルトの名無しさん
NGNG言ってる暇があったらさっさと最適化しなされ。
0170デフォルトの名無しさん
NGNG構造化とかいってる暇があったらさっさとコピペしろって言ってるみたいなもんよ
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGあんまり違わないな。
どこを最適化すべきかを判断する手間を嫌がるあまり、
結果的にもっと手間のかかる無駄な最適化を繰り返すことになり
汎用性・保守性を低下させている、と考えれば。
本人は多くの仕事をこなしたつもりでも、実質は・・・
0173デフォルトの名無しさん
NGNG146のどこをどう読んだらそういう結論になるのか
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています