タグ

anycmdに関するakitsukadaのブックマーク (2)

  • FreeBSDのfindコマンドのソースが綺麗な件 - b6note

    ちょっと前、コマンドなんでも読書会でFreeBSD 8.2のfindコマンドを 読んだんだけど、なかなかしっかり作られてて、読んでよかったんだ。 読んだのはこれ。 http://svn.freebsd.org/base/release/8.2.0/usr.bin/find/ 抽象化でポリモルフィズムでどーん 当然C言語で実装されているわけだけど、 構造体と関数ポインタをばりばり使って しっかりオブジェクト指向してる。 関数ポインタがメソッドの役割になってる。 処理概要 findコマンドはmain.cを始めとしてfind.cとかfunction.cとか 複数のファイルで構成されているんだけど、簡単に処理の順番をまとめると オプションの解釈 "PLAN"の解析と作成 "PLAN"の実行 となっている。 PLANはクラス PLANというのは、findコマンドに渡した 各引数から生成したfindコ

    FreeBSDのfindコマンドのソースが綺麗な件 - b6note
    akitsukada
    akitsukada 2011/07/20
    書いたー
  • lsコマンドのソース(FreeBSD版) | gihyo.jp

    残念ながら休刊してしまった『日経バイト』(⁠日経BP)の2006年1月号にて、書籍『ふつうのLinuxプログラミング』の著者である青木峰郎氏が「lsのソースを読んでないのはプログラマとしてかなりまずいのではないでしょうか」と言及していました。lsのソースはGNU版などいろいろなバージョンがありますが、GNU版はインデントが合わなかったり各プラットフォーム対応のための#ifdefが多過ぎたりしてあまり読みやすくないので、Free BSD版をお勧めします。ソースコードを読むのにもテクニックがあります。検索エンジンで「ソースコードを読むための技術」や「ひらメソッド」を調べてみてください。 URL:http://www.freebsd.org/cgi/cvsweb.cgi/src/bin/ls/

    lsコマンドのソース(FreeBSD版) | gihyo.jp
    akitsukada
    akitsukada 2010/04/30
    自分プログラマとして相当まずいので今からすぐ読みます!
  • 1