ソースから完全に分けるのと#ifdef使うのとなら
あらゆる状況でどちらかが常に優れてるわけじゃないんだから
状況に応じて選べばいいんじゃん