zlibが非常に読みにくい

前回ではビット配列の処理をzlibを参考にしては?と言ってみた。
早速zlibをダウンロードしてdeflateを読んでみた。
...
if elseのネストが深くてすっごく読みにくい!
なんですか。これは!どこで圧縮している処理なのか分からない!!
さらに関数内に#ifdef GZIP #endifが・・・。
私はひとつの関数内にこれだけ違う処理になってしまうものは別関数にしてしまうのだが・・・。
多分、互換性を維持するためにこのようにコーディングしたのだろう。
私のライブラリはユーザーがごくごく少数化または存在しないような規模のライブラリなのでこれで仕様変更や出力結果の互換性の維持等はそれほど気にしなくていいのだが、zlibのようにメジャーになるとこうなってしまうのだろう。
互換性の維持でこの記事を思い出した。http://www.radiumsoftware.com/0508.html#050824
Windowsはアレだけひどい*1のにもかかわらず互換性の維持にこれだけがんばっているらしい。
閑話休題
とりあえず、zlib資料

*1:ドライバやハードウェアの相性によるものがほとんどだそうだが・・・