デバッグ出力の工夫
(追記: 普通にこんな感じのクラスが標準ライブラリとかにある...)
例のコードはjavaですが、javaに限らず使えると思います。
package jp.wistery.utils; public class Debug { public static enum Levels { NONE(0), INFO(1), DEBUG(2), ALL(3); private int value; private Levels(int n){ this.value = n; } public int v(){ return this.value; } } public static Levels DEBUG_LEVEL = Levels.DEBUG; public static void tr(Object o, Levels level){ if(level.v() <= DEBUG_LEVEL.v()) System.out.println(o.toString()); } }
こんなクラスを使うとデバッグが便利です。
使う側はこんなん
package jp.wistery.hogehoge; import static jp.wistery.utils.Debug.tr; import static jp.wistery.utils.Debug.Levels; public class Main { public static void main(String[] args){ Debug.DEBUG_LEVEL = Levels.DEBUG; // デバッグ情報まで表示しよう... tr("必ず必要な出力", Levels.NONE); // 表示される. tr("まあまあ大事な出力", Levels.INFO); // 表示される. tr("デバッグ出力", Levels.DEBUG); // 表示される. tr("くぁwせdrftgyふじこlp", Levels.ALL); // 表示されない. } }