自分しかやらないであろうプログラムの癖
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/02/03(火) 03:03:21理由:しらんが自然とそうなった
0002デフォルトの名無しさん
2009/02/03(火) 03:28:24言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0003デフォルトの名無しさん
2009/02/03(火) 10:06:53}
0004デフォルトの名無しさん
2009/02/03(火) 11:57:280005デフォルトの名無しさん
2009/02/03(火) 12:30:41class foo {
struct bar {
enum {
id1,
id2
〜
}
}
と、structで囲って書く。
0006デフォルトの名無しさん
2009/02/03(火) 18:17:54Ctrl+Zで何度も元に戻してやりなおしてしまう。
もう戻れなくてもCtrl+Zを念のため連打する。
これってビョーキだと思うが
0007デフォルトの名無しさん
2009/02/03(火) 21:54:20=の位置とかがピシッとなって俺的読みやすさが向上する。
0008デフォルトの名無しさん
2009/02/03(火) 22:17:41それは俺もやる。よってお前は負け。
0009デフォルトの名無しさん
2009/02/03(火) 23:29:58ちょうどいい変数名がなくて揃わないと書く気がかなり削減されるんだよな。
関連する変数が同じ長さのセットになるよう類義語辞典漁ったり、
$ perl -lne 'print if length == 4;' /usr/share/dict/words
とかやって同じ長さの単語をとにかくダンプして探したり。
0010デフォルトの名無しさん
2009/02/04(水) 03:47:28ワラタ
0011デフォルトの名無しさん
2009/02/06(金) 01:30:320012デフォルトの名無しさん
2009/02/06(金) 13:22:19/**/ if (〜) {
・・・
}
else if (〜) {
・・・
}
else {
・・・
}
0013デフォルトの名無しさん
2009/02/06(金) 14:21:580014デフォルトの名無しさん
2009/02/06(金) 16:20:01変態だろ
0015デフォルトの名無しさん
2009/02/06(金) 20:42:35俺漏れもw
全Publicで十分だよな
メンバが多すぎる構造体とか設計が間違ってんだよはーげ!はーげ!
俺しかやら無そうなこと、
for(int i = 0; i < 4 ; i++)
for(int k = 0; k < 4 ; k++)
iの次にkを使う。 j使う奴は総じて馬鹿
0016デフォルトの名無しさん
2009/02/06(金) 20:45:26iの次はtだろ
0017デフォルトの名無しさん
2009/02/06(金) 20:52:33なぜに?
0019デフォルトの名無しさん
2009/02/06(金) 21:36:480020デフォルトの名無しさん
2009/02/07(土) 08:02:07; printf("hello world")
; }
IDE というものがなかったころ、行末の ; を良く忘れたので
行頭に書くようにしてた。
0021デフォルトの名無しさん
2009/02/07(土) 12:07:02main = do
{ args <- getArgs
; c <- readFile (head args)
; putStr c
}
0022デフォルトの名無しさん
2009/02/10(火) 02:55:550023デフォルトの名無しさん
2009/02/10(火) 03:18:430024デフォルトの名無しさん
2009/02/10(火) 04:46:440026デフォルトの名無しさん
2009/02/10(火) 10:07:130027デフォルトの名無しさん
2009/02/10(火) 10:09:33俺の悪い癖だ
0028デフォルトの名無しさん
2009/02/10(火) 12:44:130029デフォルトの名無しさん
2009/02/11(水) 14:32:14C#で、
Array.ForEach( new int[]
{
0,1,2,
},
delegate( int iValue )
{
‥(なんか処理)
});
変数名があると読んじゃうんで、なるべく匿名にしたがる。
で、入れ子のタブが崩壊を起こす。
0030デフォルトの名無しさん
2009/02/11(水) 18:17:040031デフォルトの名無しさん
2009/09/29(火) 23:11:28winが不安定だった頃に身についてしまった習慣。
0032デフォルトの名無しさん
2009/09/29(火) 23:15:39オートバックアップ機能は使わないの?
0033デフォルトの名無しさん
2010/01/23(土) 21:21:20>>31じゃないけどオートバックアップって自分がセーブしたくない時でもしちゃうから
個人的にはあんまり好きでないなあ・・・。
0034デフォルトの名無しさん
2010/01/24(日) 09:28:320035デフォルトの名無しさん
2010/01/26(火) 15:01:35そもそも、小まめにセーブすることとどう関連するのか自分でも理解できていないでしょ。
0036デフォルトの名無しさん
2010/01/31(日) 08:58:12Java 使ってても判断式では左辺に定数を書いちゃうことかな。
0037デフォルトの名無しさん
2010/02/20(土) 19:01:050038デフォルトの名無しさん
2010/02/20(土) 19:14:460039デフォルトの名無しさん
2010/02/20(土) 19:22:360040デフォルトの名無しさん
2010/02/21(日) 23:23:03と、どうでもいいラベル名にうんこと付けてしまう
0041デフォルトの名無しさん
2010/02/22(月) 00:20:00よりはマシ
0042デフォルトの名無しさん
2010/02/23(火) 01:28:03int main()
{
return 0;
}
ここまで書いて飽きる
0043デフォルトの名無しさん
2010/02/24(水) 03:34:520044デフォルトの名無しさん
2010/02/24(水) 09:42:200045デフォルトの名無しさん
2010/02/24(水) 19:02:01ここまで書いて力尽きる
0046デフォルトの名無しさん
2010/02/24(水) 19:54:11名前を考えてるうちに飽きる。
0047デフォルトの名無しさん
2010/02/25(木) 00:49:590048デフォルトの名無しさん
2010/02/26(金) 23:21:370049デフォルトの名無しさん
2010/02/28(日) 01:39:36for(i=0;i<N;i++){
if(i==2)
…;
}
ネットから拾ってきた他人のコードも詰める
0050デフォルトの名無しさん
2010/02/28(日) 04:09:58いやインデントなし改行もなしにしろ。
0051デフォルトの名無しさん
2010/02/28(日) 08:34:090052デフォルトの名無しさん
2010/03/07(日) 21:19:000053デフォルトの名無しさん
2010/03/16(火) 05:48:45これで極限だと思っても、数日後もっと最適化できたりするとまたやる。
変数名はふつうにつけるよ。1文字とかはしない。マイコンがチビだった頃の
習性だから、今だったらマイコンじゃなくPICの分野のが向いてるかも。
0054デフォルトの名無しさん
2010/03/23(火) 14:16:53隠している。intprg.c とか、GCCはLINKのマクロだし、IARの1998年頃に買ったcでは
interrupt [vector_no] void の関数はファイルに1個しかかけなかったり。
俺はIARのcでこんなふうに書いてる。vector.c の冒頭:
#pragma memory=constseg(RESET)
/* SPに内蔵RAMの末尾FFC000を代入する機械語。*/
int reset[] = {0x7A07,0x00FF,0xC000}; /* MOV.L #0FFC000h,SP */
#pragma function=interrupt // リンク時本体と関数タイプチェック照合のためこの宣言必要
void nullint(void);
void Itmr10ms(void); /* TPU1 vect48 */
void rxerr0(void),rxrdy0(void),txrdy0(void),txend0(void); /* 88-91 */
#pragma memory=constseg(VECTOR)
void (*const vector[])(void) = { /* 割り込みベクタ部 */
// 無い割り込み(reserve)の箇所を(-1)にするのは、FFの書き込みが速いから。
(void*)&reset, /* 0 : reset vector */
(void*)(-1), /* 1 : reserve */
(void*)(-1), /* 2 : reserve */
(void*)(-1), /* 3 : reserve */
(void*)(-1), /* 4 : reserve */
nullint, /* 5 : TRACE */
nullint, /* 6 : Direct_Transition */
nullint, /* 7 : NMI */
0055デフォルトの名無しさん
2010/03/23(火) 14:21:59rxerr0 , /* 88 : SCI0 RXERR */
rxrdy0 , /* 89 : SCI0 RXRDY */
txrdy0 , /* 90 : SCI0 TXRDY */
txend0 , /* 91 : SCI0 TXEND */
・・・ こういう128個の関数テーブルを書き、LINKでセグメント名VECTORを
0番地に、セグメント名RESETを400番地(Hewの推奨)に、その後ろにmain( )を
配置する。ASMで jmp main を書かなくてよいし、$VECTnnなどの名前が
128個ずらりと並んだりしてうるさいのもない。すっきり記述できてLINKmapもキレイ。
0056デフォルトの名無しさん
2010/06/19(土) 08:05:17↑
「i」ばっか使う。何かの例文で「i」だったから。
Next
0057デフォルトの名無しさん
2010/06/20(日) 07:01:520058デフォルトの名無しさん
2010/06/21(月) 22:49:03{
int i;
:
}
と無意味にブロック化してしまう。
0059デフォルトの名無しさん
2010/07/02(金) 22:23:330060デフォルトの名無しさん
2010/07/05(月) 06:01:080061デフォルトの名無しさん
2010/08/10(火) 01:50:43escape/unescapeとか許せない。encode/decodeは素晴らしい。
hoge_open/hoge_closeとか死んでいい。start/stopも泣ける。
0062デフォルトの名無しさん
2010/08/10(火) 01:57:33escape__/unescape
hoge_open_/hoge_close
start/stop_
0063デフォルトの名無しさん
2010/08/10(火) 10:26:260064デフォルトの名無しさん
2010/08/10(火) 18:02:30太古のメインフレームじゃあるまいし、PCで何度コンパイルしたって
屁みたいな資源消費だ。
0065デフォルトの名無しさん
2010/08/21(土) 10:10:520066デフォルトの名無しさん
2010/08/26(木) 12:50:370067デフォルトの名無しさん
2010/08/28(土) 00:54:140068デフォルトの名無しさん
2010/08/28(土) 01:07:19ノ
0069デフォルトの名無しさん
2010/08/28(土) 06:39:060070デフォルトの名無しさん
2010/08/28(土) 07:10:500071デフォルトの名無しさん
2010/08/28(土) 08:45:430072デフォルトの名無しさん
2010/08/28(土) 21:33:310073デフォルトの名無しさん
2010/08/29(日) 16:35:390074デフォルトの名無しさん
2010/08/30(月) 02:34:55配列操作などだと 「前から順番に」 するのが一般的なので0からになる。
例は先頭に挿入するために場所を空けるような場合なんかかな。
0075デフォルトの名無しさん
2010/08/30(月) 07:16:40for(i=0; i<10; i++){
for(ii=0; ii<5; ii++){
}}
0076デフォルトの名無しさん
2010/08/30(月) 12:18:07int * p = & x;
int y = * p;
int z = - y;
俺みたいに徹底してるやつは珍しいだろう
0077デフォルトの名無しさん
2010/08/30(月) 14:02:550078デフォルトの名無しさん
2010/08/30(月) 15:30:210079デフォルトの名無しさん
2010/08/30(月) 18:41:590080デフォルトの名無しさん
2010/08/30(月) 21:43:420081デフォルトの名無しさん
2010/08/30(月) 22:04:33これからコードがやることをコメントで先に書いておくのがプロ。
そうすれば読む人間はコメントだけ読んでコードを飛ばすことができる。
0082デフォルトの名無しさん
2010/08/30(月) 22:11:42その部分を /* と //*/ で囲む癖がある
もう指が勝手にキーボードを叩く
コメントを外すして確認する時はコメント頭の /* を //* にする
スラッシュ 1 個付けたり消すだけでコメントアウトを切り替えられる
0083デフォルトの名無しさん
2010/08/30(月) 22:14:32#include <stdio.h>
int main(void) {
/*
printf("これは出力されないはず\n"); /*出力されないコード*/
//*/
printf("これは出力されるはず\n"); /*出力されるコード*/
return 0;
}
先生コンパイルエラーが出ます。
0084デフォルトの名無しさん
2010/08/30(月) 22:15:56AかBの片方だけを有効にしたいときにする
0085デフォルトの名無しさん
2010/08/30(月) 22:17:160086デフォルトの名無しさん
2010/08/30(月) 22:19:110087デフォルトの名無しさん
2010/08/30(月) 22:22:50そもそも「自分しかやらない癖」の大半は
他人が見たら理解するのに手間がかかるものだと思うが、
そういう趣旨のスレではないのか
0088デフォルトの名無しさん
2010/08/30(月) 22:24:400089デフォルトの名無しさん
2010/08/30(月) 22:35:56#define */ //
で良くね?
0090デフォルトの名無しさん
2010/08/30(月) 23:09:19本格的にアプリを作るのならテンプレートでやるよ
ただ、簡単な実験をして動作を確認している時とかに
いちいちテンプレートを書くなんて効率悪すぎ
0091デフォルトの名無しさん
2010/08/31(火) 00:41:560092デフォルトの名無しさん
2010/08/31(火) 02:02:02javaとかだとそれが無いから>>84になる
0093デフォルトの名無しさん
2010/08/31(火) 05:39:410094デフォルトの名無しさん
2010/09/09(木) 13:46:480095デフォルトの名無しさん
2011/05/05(木) 11:09:45.520096デフォルトの名無しさん
2011/05/11(水) 13:36:40.19セミコロンは太字で、赤などの目立つ色にする
…じゃないとしょっちゅう付け忘れるので
0097デフォルトの名無しさん
2011/05/11(水) 13:55:27.370098デフォルトの名無しさん
2011/05/13(金) 10:26:44.53行末に行コメントとして引用符を書いてから行ない、後にそのコメントを消す
…書いてる最中に、それ以降のコードが全部文字列カラーに塗られるのがなんか嫌なんだw
0099デフォルトの名無しさん
2011/05/14(土) 05:03:11.720100デフォルトの名無しさん
2011/05/14(土) 05:24:22.03static void reset(void) { /* パワーON reset処理本体 */
void c_main(void);
di();
_asm_c("\n\tlxi\tSP,0A000H\n"); /* SP←RAM末尾の偶数番地*/
c_main(); /* cのmainをcall */
}
static void rst1(void) { ei(); } /* 0008 RST1 */
static const char pad1[]=" ";
static void rst2(void) { ei(); } /* 0010 RST2 */
static const char pad2[]=" ";
・・・
0101デフォルトの名無しさん
2011/05/14(土) 05:33:37.95void c_timer(void);
static void rst75(void) { c_timer(); } /* 003C 10mSタイマ割込み処理*/
static const char pad75=0;
static void IR00(void) { ei(); } /* 0040: 8259設定はcall4番地おき、ベクタ0040*/
static const char pad00[]=" ";
static void IR01(void) { ei(); } /* 0044: */
static const char pad01[]=" ";
static void IR02(void) { ei(); } /* 0048: */
static const char pad02[]=" ";
0102デフォルトの名無しさん
2011/05/14(土) 05:37:50.87static const char pad03[]=" ";
void c_iasc1(void),c_iasc2(void),c_iasc3(void),c_iasc4(void);
static void IR04(void) { c_iasc1(); } /* 0050: 8251 A-CH */
static const char pad04=0;
static void IR05(void) { c_iasc2(); } /* 0054: 8251 B-CH */
static const char pad05=0;
static void IR06(void) { c_iasc3(); } /* 0058: 8251 C-CH */
static const char pad06=0;
static void IR07(void) { c_iasc4(); } /* 005C: 8251 D-CH */
static const char pad07=0;
旨い具合に、{ 関数(); } は JMP 関数 が出るんだ。
0103デフォルトの名無しさん
2011/05/15(日) 12:16:44.49編集してるのが最終行とか、それに近い位置なら俺もそうするんだけど
頭のほうを編集するときとかは、1個目の"と2個目の"を打つ間の一瞬が嫌なのです
0104デフォルトの名無しさん
2011/05/16(月) 10:34:23.24//""←←BsBs→でもいいか。
0105デフォルトの名無しさん
2011/05/16(月) 21:49:52.210106デフォルトの名無しさん
2011/05/18(水) 08:32:29.46括弧の対応が合わなくなって色が変わるのも抑制したいのなら、勝手にしてくれ。
0107デフォルトの名無しさん
2011/05/18(水) 08:43:08.180108デフォルトの名無しさん
2011/06/03(金) 19:30:28.670109デフォルトの名無しさん
2011/06/23(木) 05:55:02.760110天使 ◆uL5esZLBSE
2011/07/03(日) 17:32:12.020111デフォルトの名無しさん
2011/07/05(火) 00:12:08.940112デフォルトの名無しさん
2011/08/16(火) 06:32:36.47「KHz単位の周波数f+70455」を64で割った商qと余りmを11bitと8bitの以下のような
配置=1qqqqqqqqqq0mmmmmm0の19bitの列にしてMSBファーストで出力する。
call calfreq ; HL=周波数(25000位まで)
lxi B,70455 ; 70455=11337hの16bit分
dad B ; (f+70455)のLSW
MOV A,L ; LSB 6bitが余り
ANI 63 ; A=余り (ここでCYが消える)
RLC ; 7bitを左寄せに(Cbit=0)
MOV B,A ; siftoutの引数(B=8bit)
STC ; CY=1で+70455が完成(17bit)
MOV A,H ; CYHLは↓こんな数値:
RAR ; 1 qqqq qqqq qqmm mmmm
MOV H,A ; これを右シフトして、
MOV A,L ; 1qqq qqqq qqqm mmmm に
RAR ; =11bitの商を左詰めで得る
MOV L,A ; (右5bitは無視される)
call siftout ; HL=左11bit、B=8bit
0113デフォルトの名無しさん
2012/01/07(土) 10:55:00.06あれなんでOKなんでしょうね?
おれCloseにしてみた
0114デフォルトの名無しさん
2012/01/07(土) 14:33:05.71戻れるところまで戻ってからCtrl+Yで一つずつ検証するというのを何度も繰り返す
0115デフォルトの名無しさん
2012/01/07(土) 17:07:32.65■ このスレッドは過去ログ倉庫に格納されています