小規模店舗が「Joel Test」でより高いスコアを獲得できるようにするツール
-
08-06-2019 - |
質問
に関する質問 #1 から #4 ジョエル・テスト 私の意見では、重要なのは、使用されている開発ツールと開発者向けのサポート システムです。
- ソース管理を使用していますか?
- ワンステップでビルドできますか?
- 毎日ビルドを行っていますか?
- バグデータベースはありますか?
私は、大規模な銀行口座を持たない小規模な開発ショップがこれらの質問に対して肯定的な答えを得るために使用できる無料/安価な (ただし優れた) ツールにはどのようなものがあるのか、興味があります。
ソース管理については、Subversion が優れたソリューションであることはわかっています。個人経営の場合は、SourceGear のソリューションを使用することもできます。 保管庫.
私は大規模なプロジェクトに NAnt を使用していますが、インストーラーを構築し、難読化ツールをすべて 1 つのステップとして実行するためのスクリプトをまだセットアップしていません。他に何か提案はありますか?
ワンステップで構築に「はい」と答えられるのであれば、日次ビルドの作成は簡単だと思いますが、日次ビルドを自動化するためにどのようなツールをお勧めしますか?
1 人または 2 人のチームの場合、FogBugz On Demand を使用できることは既に SO で議論されていますが、小規模チームには他にどのようなバグ追跡ソリューションが存在しますか?
他のヒント
私の好みのスタック:
1) 転覆。私は分散ソース管理に興味を持っていますが、まだ試してみる機会がありません。集中型ソリューションの場合、svn は盤石です。
2) アリ。Maven は、機能しているときは楽しく使えますが、古いアリハッカーとしては、問題が発生すると Maven を理解するのは難しいと感じています。
3) ハドソン。これまでのところ言及されていませんが、調査する価値は間違いなくあります。信じられないほど使いやすく、積極的にメンテナンスされているツール。前に、私たちは Anthill Pro を購入しましたが、それは不安定に見え、失敗するたびに修正するのが苦痛でした。
4) 私たちは jira の料金を支払います。安くはありませんが、私たちが検討したオープンソースのオプションよりもはるかに使いやすく、非常に柔軟です。
私のエンジニアリングスタック:
- Git (私は GitHub が大好きですが、Git にはホストされたソリューションは必要ありません)
- レーキ
- クルーズコントロール.rb
- フォグバグズ
これらの選択は、Ruby、Rails、SQLite、Firefox、OSX を含む私の開発スタックの影響を受けていることは間違いありません。
私の既存の質問を見てみるのもいいかもしれません チームシステムの代替品を見つける. 。そちらにもおすすめがたくさんあります。
- ギット
- 作る
- クロン
- トラック
私は音節が少ない人間です ;-)
開発者がプライベート ブランチを簡単に作成し、そのプライベート ブランチをメイン ブランチ上の 1 つのコミットに圧縮できる、ある種のバージョン管理を必ず使用してください。そうすることで、組織ではなく個人の開発者が、壊れたコミットで他の人のコードを汚染したり(作業を遅らせたり)することなく、バージョン管理のメリットを享受できます。
この機能は私が git で気に入っている点です。これが実際に存在するのは分散バージョン管理システムだけだと思います。ただし、DVCS を使用するからといって、実際に分散開発を行う必要があるわけではありません。
ワンステップ ビルドに関しては、make がデフォルトのビルド ツールであり、ほとんどのタスクで非常にうまく機能します。よほどの理由がない限り、私はそれでいいと思います。
毎日ビルドしたい場合は、cron.daily にビルド コマンドを入れます。必要に応じて、cron からのメールを処理するために procmail フックを設定します。
バグ追跡には、次を使用します。 $(apt-cache search bug tracking)
. 。基本的に、箱に「バグトラッカー」と書かれていて、他の人がそれを使用していることがわかっている限り、おそらく問題なく動作します。常連の中には、bugzilla、mantis、trac も含まれます。
提案できるツールはありませんが、毎日のビルドについて提案があります。毎日のビルドはありませんが、私はその質問には常に「はい」と答えます。代わりに、誰かがコミットするたびにビルドを実行します。そのため、問題があればほぼ即座に発見されます。いずれかのプロジェクトに十分な LOC があり、ビルドに時間がかかる場合でも、これを実行すると、毎日のビルドの方向に正常に機能が低下します。
比較的安価で優れた問題追跡ツールは次のとおりです。 axoSoft オンタイム. 。MS TFSを入手するまで何年も使用していました。
ナント そして クルーズコントロール 私の環境の定番です。
もう .Net で難読化する必要はないと思います (別の回答を参照してください)
私は Vault のことは考えません。現時点では SVN が本当に市場のリーダーです (そして無料です)。Git はかなり有望に見えますが、現時点ではコマンドラインのみであり、学習曲線が急です。
MSBuild は .Net 2 または 3.5 で NAnt を上回る
CC.Netは素晴らしいです。
MSBuild、CruiseControl.NET、FxCop、NUnit、NCover、Subversion を使用した継続的インテグレーションに関する記事をご覧ください。
現在 SVN を使用していますが、開発サーバー上のネットワーク ドライブへのチェックアウトで多くのことや問題が発生しています。ロックの問題が発生する傾向があり、修正するには多くの作業が必要になります。WebDav アクセス方法を使用すると、これらの問題の一部が軽減される可能性がありますが、私はまだ実験していません。
Bugzilla、Trac、Fogbugz はいずれもバグ追跡に役立ち、それぞれにエクスポート機能が備わっているため、後でいつでも考えを変えることができます。また、チームに全面的に同意してもらうことができれば、時間管理ソフトウェアは事後分析などにも便利です (全員が全面的に参加する意欲があれば)。
- ソース管理:履歴書
- GNU をビルドする
- bash スクリプトを呼び出す cron ジョブ
- バグジラ