タグ

プログラミングと開発とQiitaに関するuturiのブックマーク (9)

  • ほんとうにあった開発生産性が爆下がりする話 - Qiita

    昨今、継続的にプロダクト開発していくことが主流となり、Four Keysなどの開発パフォーマンスを測る指標なども出てきており開発生産性を向上させることが注目されています。 しかし、かつての開発現場では今では信じられないような開発生産性を爆下げするようなことをやっていました。 この記事では10年以上前に私が経験した開発生産性を爆下げする事例を書いていこうと思います。 (私が体験したことをベースに書いているので10年前は全てがこうだったということではないのでご留意ください ) 修正前のコードはコメントアウトで残す 当時、ウォーターフォールで開発していました。 ウォーターフォールでは開発工程とテスト工程が分かれています。 開発工程で一通りコーディングして、テスト工程で動作確認を行いバグを潰します。 問題はここからです。 とある現場では、テスト工程でバグを直すときにコードを破壊的に直すのではなく、

    ほんとうにあった開発生産性が爆下がりする話 - Qiita
    uturi
    uturi 2023/09/12
    いくつかは自分も経験したことがある。ただ、商習慣に結びついてたりするのでなかなか改善は難しかった記憶。なぜ生産性が下がるルールができたのかの説明も欲しかった。
  • 自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita

    リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 質的にテストが困難なモジュールで、誰がやってもテストが書けない。 質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場

    自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita
    uturi
    uturi 2023/06/12
    外部ライブラリと接続するクラスは必要最小限にし、そのクラスはE2Eテストやマイグレーションテストでしか検証できない、と。影響力は下げられそうだけど、全て自動テストというのはほぼ不可能かな。
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    uturi
    uturi 2017/12/01
    興味深い話。シングルトンのせいで自動テストがしづらくなるというのはあるあるな話だ。
  • 良いエラーメッセージの書き方 - Qiita

    エラーには大抵「エラーメッセージ」が付いています。 自分は過去に、エラーメッセージの内容を雑にしてしまい後悔することがよくありました。 その経験から、良いエラーメッセージの書き方を考えました。 エラーメッセージを2つに分類する まず、エラーメッセージといっても次の2つのパターンで大きく異なってきます。 (1) ユーザーが見るエラーメッセージ (2) 開発者が見るエラーメッセージ (1) ユーザーが見るエラーメッセージ 内部実装のことは書かないようにする

    良いエラーメッセージの書き方 - Qiita
    uturi
    uturi 2017/10/03
    「おおっと!何かが起きたようです!」というエラーメッセージを見て殺意を湧いたことあるので、とても納得できる記事。
  • iOSアプリ開発の全体像 - Qiita

    技術書展で頒布したiOSアプリ開発の全体像をだらだら書いたを記事として公開。 ただのポエムです。 2年くらいまえに、SwiftもObjCも一切書いたことないし、アプリも一回も作ったことがない状況でiOSアプリを作ってリリースするミッションのお仕事が降ってきたので、そのときにこんな情報があったら全体が見通せて、気持ち的に楽だったなと思った内容をまとめました 1. iOSアプリ開発を取り巻く環境 iOSアプリ開発には、基的にmacOSを搭載したコンピューターとXcodeとよばれるソフトウェアが必要です。もともと主にObjective-Cという言語が使われるケースがほとんどでしたが、2014年6月にAppleがプログラミング言語Swiftを発表して以後の新規開発には、ほとんどの場合Swiftが採用されているようです。またSwiftは、Objective-Cのコードと共存できるため、もともと

    iOSアプリ開発の全体像 - Qiita
    uturi
    uturi 2017/09/19
    “実際のところ、こうした大きな更新があると最悪、半日ほど開発がストップしてしまいます。” 古いバージョンを使い続けられない仕様だから、こういうのは仕方ないんだろうなぁ。
  • GitHub English Challenge Cheat Sheet - Qiita

    GitHub上の実際のコミットメッセージやIssueのやりとりをみて、チートシート作りました。 共通的なこと コミットメッセージやIssueのタイトルは、主語省略し、1文で書き行末ピリオドは付けない 動詞は現在形・過去形のどちらも同じくらいの頻度で見られるが、どちらかに揃える。 コミットメッセージを書く Japanese English

    GitHub English Challenge Cheat Sheet - Qiita
  • コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita

    はじめに:コードを良くするためなら遠慮は不要 昨日Twitterに投稿した内容が思った以上に拡散されていたので、タイムラインに流れてしまわないようにQiitaにも書いておきます。 内容は上に書いてあるとおりです。 コードレビューはコードの問題点を指摘し、そのコードを良くすることが第一の目的です。 そのため、少しでもおかしいと思った部分は遠慮せずにどんどんツッコむ必要があります。 しかし、レビューする側が「これ、自分もあまりできてないんだよなあ」「お前もできてないじゃん!って言われたら返す言葉もないし・・・」などと思って遠慮してしまうと、コードを改善できるせっかくのチャンスが失われてしまいます。 「自分ができているかどうか」と「そのコードを改善すること」は、それぞれ別の問題です。 なので、レビューする人は自分のことを棚に上げてでも、コードの問題点を指摘する必要があります。 また、レビューされ

    コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita
    uturi
    uturi 2017/07/16
    レビューって基本的にそういうもんだよな、とは思う。慣れてないとそういうのに抵抗があるんだけども。
  • [社内新人向け]Gitで使ってほしくないコマンド - Qiita

    社内に新人が増えてきたので、弊社のWeb開発でのGitのゆるーい利用方針をまとめます。 当はネガティブなことばかり書かずに、「覚えて欲しいコマンド、使ってほしくないコマンド」というタイトルにしたかったのですが、予想以上に長くなりそうなので分けます。 (追記:第二弾できました) → [社内新人向け]Gitで絶対にオススメなプラグインや設定3つ 社内環境 Web系開発がほぼ100% ブランチワークはGitflowをベースにしたプルリク駆動開発 少人数チームなので、エンジニアは全員LinuxのCUI操作をできて欲しい(vagrantや開発サーバ上の操作など) GitGUIクライアントは、SourceTreeとGithub公式を試しましたが、初学者が使うと却って危ない挙動をしてしまうケースがあったので、全員CUI操作をしてもらうことにしました CIツールはまだ導入できず。各サーバーへのデプロイ

    [社内新人向け]Gitで使ってほしくないコマンド - Qiita
    uturi
    uturi 2017/02/22
    SouceTreeのようなGUIを使えば視覚的に確認しやすく、不要なファイルのpushも防げるように思えるんだが。危険だからGUIを使わないというのは逆にハードルを上げてしまい「確認が面倒だからallしちゃえ」となりがちな気も。
  • 技術的負債とどうやって戦うか - Qiita

    プロジェクトが進行するにつれて増える『負債』 長いプロジェクトに携わっていると、技術的負債をいつ返すのかが課題になってきます。 リファクタリングはいつの時点でやるのか、これは長いプロジェクトを運用していく上で問題になっていきますが、今回は負債の種類を整理し、それぞれどう対応をしていけばよいかを考えていきたいと思います。 私達の開発では常に時間が足りない 最近読んだ、「アジャイルサムライ」というには下記のようなことが書いてありました。 (開発における)3つの真実 プロジェクト開始時点にすべての要求をあつめることは出来ない 集めたところで要求はどれも必ずと言っていいほど変わる やるべきことはいつだって与えられた時間と資金よりも多い 以上のことからわかるように、私達の開発には時間が無いということが常だということがわかります。実際、技術的負債が多いプロジェクトほどこの傾向が強いのではないでしょう

    技術的負債とどうやって戦うか - Qiita
    uturi
    uturi 2016/09/27
    リファクタリングは「今はなんとかなるけどいずれ面倒になる」というものだからなぁ。上が「動いてるから別にいいだろ」と軽視すると負債を返済する時間を確保しづらくなる。
  • 1