2008-08-04

遅起き

今日は,久々に,遅起き. 少しは,疲れがとれた気がする. ゆっくりとしたスタートだ.

演習C

(家で)演習Cに取り掛かる. ある程度,出来上がっているので,気は楽である. しかし,なかなかうまいこといかなかった. こういうときは,単純ミスが多いのだが, またしても単純ミスだった. ロジックミス.

デバッグするための,8つの方法

ぼくが,デバッグで大変なときは,

  1. 作業を忘れて,ちょっと休憩する →非常に大切.つきっきりだと,生産性がどんどん低下していく.
  2. 全体のロジックを見直す →細部ばかり見ていると見落としがち
  3. 周りにアドバイスを貰う →要点を整理して話をして見ましょう
  4. 机上デバッグ →印刷してデバッグしてみましょう.全体が見通せるかも
  5. 退行テストしてみよう →以前上手く行ってて,今駄目なら手戻りしてみよう.(バックアップが必要!)
  6. デバッガを使おう →printfデバッグだけじゃ見えてこないものも見えてくるよ
  7. 手を止めてみよう →手を止めてよく「考えて」みよう
  8. 今日は寝よう →それでも駄目なら今日は思い切って止めよう

みたいなことを,するかな.

開発には余裕を持って@17:01

正直,今日からやり始めてよかったと,心底思った. これの納期は8/6(水)の24時だけど,なかなか終わりそうに無い. 早めに余裕をもってやるのが,大切だね. 余裕がないとデバッグも十分に出来ないしね〜.

開発ばなし

ちょっと休憩も兼ねて,現在の開発状況についてメモっておこう. 家で,開発をしてるのだが,こんな感じの画面でプログラミングしてます. 作業画面

横に長いのは,デュアルディスプレイ*1だから. vmwareでdebianを動かしてクライアント,windows側をサーバという構成. 左のディスプレイのシェルはPoderosaというやつで,長い奴がサーバの標準出力,右の3つの奴がクライアント3つ. そして,右のディスプレイでコーディングという感じで開発を進める. (以前,逆だとうまくいかなかったので)

そして,ソースコードは,wcしてみると,

行数 単語数 文字数

 28  47  479 cat_now_time.c

 41  89  990 chat-server.c

 36  91  984 connection_judge.c

 44  66  921 init.c

 37  85  816 kill_user.c

 61  103 1515 listen_sock.c

 60  149 1463 register_user.c

 81  188 2102 send_message.c

 28  61  550 server_operate.c

 61  173 1476 common.h

477 1052 11296 合計

と500行に達しそうな感じ. ファイル分割してるからちょっと冗長性は増えてるけど, こんなに長いのは初めてかな?と思って,去年のプログラミングDで作ったjava住所録のソースを調べてみた.

行数 単語数 文字数

 173  420 5309 AddressBook.java

 798 1806 28794 AddressBookGUI.java

 164  414 6220 AddressBookManager.java

 168  353 5717 AddressBookTableModel.java

 192  479 5491 Entry.java

  62  136 1752 MyDialog.java

  33  64 1235 Sorter.java

 116  302 3766 Table.java

1706 3974 58284 合計

と,1700行の大規模なものだった. 内容的にはたいしたこと無くても,GUIだとコード量増えるからなぁ. あと,ぼくの場合,コメントを大量につけるので.文字数も増える.

*1 2つのディスプレイを並べて使用すること.本当にオススメ.

tdiaryで画像

tdiaryで画像を使うのに,ちょっと不便だなって思った. なので,時間ができたら,プラグインを作ってみようと思う.

作業打ちとめ@23:00

結局,今日はプログラミングばっかで, レポートを全く書いていない. 明日の朝,拡張機能のプログラミングをちょこっとだけやって, それからレポートを書こう. あと,6時間ぐらいで終わるでしょう〜.