• GIZMODO
  • FUZE
  • DIGIDAY
  • gene
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • roomie
  • machi-ya
  • GIZMODO
  • DIGIDAY
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • machi-ya
  • roomie

ゲストライター  - ,,  07:00 PM

プログラムのソースコードから変数を出力するヘルパー『makeMessagebox』(SimpleStyle第119回)

プログラムのソースコードから変数を出力するヘルパー『makeMessagebox』(SimpleStyle第119回)

12-08-30simplestyle01.jpg


SimpleStyleは、ライフハックできるツールを実際につくり、使い、役立てるライフスタイルを紹介します。


Windows用: 毎週(ほぼ)新作のソフトを公開して2年が経過し、100本以上になりました。読者の方々にも、いろいろご支援いただきほんとうに感謝してます。

これだけ作り続けるためには、効率化は欠かせないです。

新作のソフトを作るためには、新しいファイル(プロジェクト)を作り、命名し、保存し、細かく設定し、アイコンを探し、というように、一般的な事務仕事にも応用できそうな手順が山ほどあります。

わたしは、こうした作業の可能なかぎりすべてをプログラムで自動化しています。そのくらいしないと、週1での更新は大変すぎるためです。逆にいえば、そのくらいすると、楽々こなせるようになるのです。

Photo by Thinkstock/Getty Images.


2012_0821_1316_36.jpg


■デバッグログ

ソフトはリリース前にデバッグをします。

デバッグが、自分のマシンで完結する場合には、まあ簡単です。それが、他のマシンでデバッグするとなると、ターゲットになるマシンをつないだりなんだかんだと、けっこう大変な作業になります。

一番困ったシチュエーションは、ターゲットマシンでデバッグ環境が動作しない場合です。この場合、動作中のログを克明に記録する必要が出てきます。


■よくある値のミス

たいていのソフトウエアは、さまざまな値を持っていて、その値を計算で変更していって処理をするようになっています。例えば、ファイルを読み込んで加工して出力するような大半のソフトでは、読み込むファイル名、読み込んだ内容、出力するファイル名などを値として所持しています。

かんたんなバグの大半は、このファイル名の値の記述ミスがほとんどなのです。例えば、
「C:\Users\MisakiKaoru\originalfile.txt」を読むときに間違えて、「D:\Users\MisakiKaoru\originalfile.txt」と1文字書き間違えるともうアウト。

もうちょっとなんとかなんないかな、という気がしますが、プログラムはそういうもののようです。


■サービス満点で出力する工夫

2012_0821_1239_53.jpg


ターゲットマシンでデバッガを動作させられない場合、プログラムのブロックごと(あるいは1行ごと)に、そのとき保持している値を一覧してみると、たいていのバグを見つけることができます。

このときに、例えば、


読み込むファイル名=「C:\Users\MisakiKaoru\originalfile.txt」
読み込んだ内容=「編集前の内容」
出力するファイル名=「C:\Users\MisakiKaoru\afterfile.txt」


のように、ガイドがついた状態で表示すると、わかりやすいと思うのです。

というか、ぶっきらぼうに、


C:\Users\MisakiKaoru\originalfile.txt
編集前の内容
C:\Users\MisakiKaoru\afterfile.txt


と表示するのでもいいけれど、それだと1行目が何で2行目が何なのか、理解するまでにしばらくかかっちゃいますよね。


■変数名を追加してメッセージボックスを表示

というわけで、今回は、プログラム作業を楽にするために、変数名を追加したメッセージボックスを自動で生成する『makeMessagebox』です。

ソースコードを編集する点からいうと、これは「メタエディタ」(あるいはメタプログラミング)に相当するのだろうと思っています。


■使い方

使い方はこんな感じ。


  1. 起動する
  2. ソースの適当な部分を(VisualC#などから)ドラッグする
  3. 編集後のソースを(VisualC#などに)ドラッグする


ドラッグした時点で、開発環境からソースが消えますが、(たいてい)アンドゥできるようです。その他、トラブルはご容赦。


■ワンポイント

変数をすべてうまく抜き出せていない気もします。ある程度軽減できているかなという感じ。

今回は、プログラマの方限定のソフトです。たまにはこういうこともありますね。

ご意見は、コメントやFacebook、Twitter、はてなをご利用ください。っていうか、もっと効率的なデバッグの方法などあれば、ぜひアドバイスしてほしいです。

makeMessagebox』は、Windows用のツールです。 アイコンは『iconfinder.com』のDelacro さんによるGroup, Program iconを使用しました。


[makeMessagebox]

(美崎薫)

  • ,,,,, - By

    香川博人

    LIKE

    2020年に向けて進むキャッシュレス化。 企業にとっての「電子決済」のメリットとは?

    Sponsored

    2020年に向けて進むキャッシュレス化。 企業にとっての「電子決済」のメリットとは?

    2020年に向けて進むキャッシュレス化。 企業にとっての「電子決済」のメリットとは?

    先日、政府は2017年度から公共料金や備品経費の支払いを全面的に電子決済にすることで、30億円の人件費削減が期待できるという発表をしました。 電子マネーやクレジットカード、ネットバンキングの普及により、私たちは現金だけではなく、時間と手間のかからない電子決済を活用する機会が増えていますが、それは企業や法人にとっても大きなメリットがあるようです。 そこで今回、現金決済から電子決済へとキャッシュレス  05:00 PM

MORE FROM LIFEHACKER

powered by
    
    
    
  

lifehacker

Recommended

© mediagene Inc.