Excelの仕様書がダメな理由

最近は暑さに参っています。子供の頃の夏はもっとマシだったと思います。
冬はまだですか?


Excelを始めとしたOffice系のドキュメントは総じてダメです。
なんでもExcelで作るのは何故なんでしょうね。
技術力が高いエンジニアでもここに違和感ない人もいて信じがたい状況です。


とは言え今まで言語化するのも難しいし、代替の方法も特に思いつかなかったので自分も同じ穴のムジナという所ですが。
ただ、最近はこの辺り大分整理出来てきたのでここで公開しておこうかと思います。

そもそもバイナリファイルなのがダメ

最近はgitを使った開発が多いとは思いますが、バイナリファイルの管理が非常に面倒くさいです。
コンフリクトが発生したときなんかはdiffを見てもさっぱり分からないですしね。まあWeb開発とかだと画像ファイルとかも面倒ですけど。


更には通常の開発はUnix系OSなので、grepvim/emaxcなどのエディタを含めたunix系ツールとの相性も最悪です。


Excel表計算ソフトだからWordにしろという主張も見かけます。
まあ、多少は良くなりますがバイナリなのでやっぱりダメダメです。

データとデザインが一緒になっている

非エンジニアからするとこういうのが受けているのでしょうが、HTMLとCSSに分かれているように、そもそも異なる概念を1つの書き方で表現しようとするのが間違っています。
こんな事すれば、書くのが大変になるに決まってるじゃあないですか。


最近はgit/githubでの開発が一般的になってきています。
githubだとMarkdownでかけば自動的に綺麗に表示してくれるので、デザイン部分は考えなくて良いです。
テキストなので、unixツールとも相性が良いですし。
ドキュメントでデザインしたいなら、HTMLとかでベタ書きしたりWiki使ったほうがよっぽどましです。

過去のバージョンへ戻すのが大変

10年前とかの開発でもcvsを使って開発とかは普通にしていましたが、ドキュメントも一緒に戻すのが非常に大変でした。
当時の一般的なドキュメントはOffice系で仕様書を書いて、バージョン毎に別ファイルで共有フォルダに置いて、コードはcvsとかでした。
Word自体でバージョン管理する機能もあるのですが、当時使っていて最終的にファイルが開けなくて色々終わった経験もあります。そもそも1ファイルでバージョン管理なんかするのが無茶ですよ。


これでも管理出来なくは無いですが、コードと仕様書を一致させるのが非常に困難です。
過去の任意の時点での仕様書を見るのが本当に大変。
cvsに入れれなくも無いですが、やっぱりバイナリなので色々難しい。

代替の方法

必要な条件はこのあたりかな?

  • テキストをベースにした簡易フォーマット的な何か

- でもxmlとかhtmlとかは見づらくていや

  • git等でコードと一緒に管理できること


やっぱりMarkdownが今は一番楽かなぁ。
画像表示とか作りづらい部分もありますが、URLで出来なくはないし、表もgithubだとMarkdownの拡張で対応しているしさほど困ることは無いと思います。


問題はWindows利用者のOfficeばかり使う病ですかね。
本当に何を考えているかが良く分からないです。