「プログラミング経験のない人がソフトウェアの設計をすること」の是非について、どう考えますか? もしかしたら、このブログの読者であれば、プログラミングが出来ないのにソフトウェア設計をするなんてありえない!という意見の方が多いかもしれません。私もそういう意見ではあったのですが、色々な人と話をするにつけ、どこか違和感を感じていました。 その違和感の正体を探るべく、ソフトウェア設計とプログラミングについて考えてみました。そこでわかったことは「ソフトウェア設計」について、人それぞれに捉え方が違うために、話が通じないことがあることから産まれた違和感だったということです。 この記事では、私の考える「ソフトウェア設計とは何か」について書きました。 ソフトウェア開発はすべてが「設計」である モノづくりにおいて、大きく工程を2つに分けるとしたら「設計」と「製造」に分けることが出来ます。何をどう作るかを決めるこ
皆さんはテストの本質を理解されていますか? 実は、テストには機能検証をするということ以上に重要な役割があるのです。本稿では、テストファーストがソフトウェアアーキテクチャに及ぼす多大な影響について説明します。 テストファーストとは? 皆さんは「テストファースト」という言葉をどこかで耳にしたことがあるのではないでしょうか? これは単に、「コードを書く前にテストケースを書きなさい」ということであり、この手法をはじめて耳にしたときには何ら驚きを感じないことと思います(私自身そうでした)。 ソフトウェア開発の経験をある程度積んだエンジニアであれば、テストの重要性は自らの苦い経験から学んでいるはずですし、実装する関数一つ一つに確実にテストが用意されていれば、テスト自身が生きた使用例になるというメリットも頭で理解できるはずです。しかし、「テストファースト」がただテストを用意するだけのことであれば、「テス
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基本的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く