タグ

developmentと考え方に関するshimookaのブックマーク (16)

  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
  • 日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita

    はじめに こちらの記事は、技術評論社に寄稿させていただいた「エンジニアリング組織論への招待」をご紹介するための文章です。Qiitaにも再掲しておきます。 アジャイルって何だ? 「ウォーターフォールよりもアジャイルのほうがいいのか?」そんな言葉をIT企業の経営者から聞くことがあります。2000年代の後半くらいから、日国内においてもアジャイル型の開発プロセスが注目を浴びて、多くの企業が実践するようになりました。 ところが、世界各国に比べて日アジャイル型開発の普及率は依然として低く、理解度も進んでいません。流行っているからやってみようと始めた企業も流行りが変わると今度はリーンだとか、今度は○○だといったように新しい方式を導入してみては失敗するところも珍しくありません。 アジャイル開発の専門家ですと名乗る人の話を聞いてみても、それが何なのか、けむにまかれたような説明をされてしまい、いまいち納

    日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita
  • 私は間違っていた。ごめん。ウォーターフォールは何のメリットも無い - メソッド屋のブログ

    私はソフトウェアの専門家としてお答えすると、ウォータフォールは何のメリットも無いというのが私の意見であることを共有しておきたい。そういう意見に至った経緯をこのブログで書き留めて置きたい。 尚、これは所属会社の見解ではないことは明確にしておきます。 サム・グッケンハイマーの一言 私は DevOpsのエバンジェリストで、それ以前からアジャイル開発をかれこれ15年ぐらい実施し、導入の支援をしている。私はかつては、日の環境の制約の中で如何にアジャイル開発のメリットを最大に引き出すか?ということを考えていた。 ウォーターフォールに対する立場も、真っ向から否定するものでもなく、現状もあるし、それに慣れている人もいるし、実際ウォーターフォールでも失敗しない人も居る。だから、人にウォータフォールのメリット・デメリットを聞かれた時も「変化しないものに関してはウォータフォールはいいのかもしれない」と回答して

    私は間違っていた。ごめん。ウォーターフォールは何のメリットも無い - メソッド屋のブログ
    shimooka
    shimooka 2018/03/27
    2年も前か
  • どこに何を書くのか?

    13. type User struct { Attack int //攻撃力 } func main() { u := User{ Attack: 100, } //攻撃力は int の Attack に乱数を加算したものになる rand.Seed(time.Now().UnixNano()) u.Attack = u.Attack + rand.Intn(10) fmt.Println(u.Attack) } 14. type User struct { Attack int //攻撃力 } func main() { u := User{ Attack: 100, } //攻撃力は int の Attack に乱数を加算したものになる rand.Seed(time.Now().UnixNano()) u.Attack = u.Attack + rand.Intn(10) fmt.Pr

    どこに何を書くのか?
  • Problem driven enginnering?

    「少しでも楽をしたいから自動化したい。自動で信頼出来ることをしたい。そうすれば効率があがるよ」という思考は、「問題点がなければ何もしないでいいじゃん?」という問題ドリブンの考え方と対立するものだ。それは自己満足だ。コストがかかる(そりゃバランスも重要)と言われようと、問題がなければ何もしない、では進歩は望めないし、何より俺たちエンジニアは楽になれない。周囲の文化がなんであれ、『楽をするため』に向上心を持ち続けることは忘れないでいようと思う。 ・・・と考えていくと「楽をしていないことが問題だ」という問題意識があると気付かされる。結局問題ドリブンに戻るわけだな。タハハ(´ー`;)

  • ウォーターフォールのほうが楽だという話 - 勘と経験と読経

    わたしはまだ格的な(?)アジャイル開発をやったことは無いけれども、周りのウォーターフォール脳に比べたらアジャイルプラクティスをプロジェクトに取り込むことが多い(プロジェクトマネージャーの立場で、スクラムマスター的に推進)。いくつかのプロジェクトを終えて、結果を振り返ってみるとチームメンバーの平均的な帰宅時間は早まったし、休日出勤することも減ったと思う。QoELは確実に上がったと思っていたけれども、一部のエンジニアからは「キツかった」と言われて驚いた。 アジャイルの前のほうが楽だった? 「第5回 TFSUG:ウォーターフォールからアジャイル、リーンへ」での発表で、アジャイル開発に挑戦した方がやはり「前のほうが楽だった」というような事を書いている。 http://kaorun55.hatenablog.jp/entry/2012/04/17/001312 第5回TFSUG WFからAgile

    ウォーターフォールのほうが楽だという話 - 勘と経験と読経
  • 開発プロセスとしての伽藍とバザール - yojikのlog

    わかりやすく、21世紀現在の言葉で、伽藍とバザールという対比を現実社会に当てはめると、もっとも近いものは、ウォーターフォールvsアジャイル だ。 artonさんが述べているように、伽藍とバザールは、OSSのアジテーション文書とかハッカー賛美の書ではなく、実際にはESRがFetchMailの開発をすることによって得たバザール方式開発プロセス*1のプラクティスを紹介するエッセイです。 コードをオープンにすることは必要条件であって十分条件ではない。コードをオープンにすることは、それ自体が目的じゃなくて素敵なソフトウェアを自然につくるための手段にすぎない*2。一般的な開発者の数百倍の生産性をたたき出すハッカー賛美などはどこにも無い。 いくつか興味深い部分をピックアップしてみましょう。 6. ユーザを共同開発者として扱うのは、コードの高速改良と効率よいデバッグのいちばん楽ちんな方法。 これは、XPな

    開発プロセスとしての伽藍とバザール - yojikのlog
    shimooka
    shimooka 2012/04/12
    また読み返したてみたくなった
  • もしSIerのエンジニアがジョブズのスピーチを聞いたら(1) - Wadit Blog.

    最近、いわゆるSIerと呼ばれる業態がヤバそうだという話が聞こえてくる。富士通の3万人のSE職の転換とかが話題になった。おそらくどこのSIerも相当の危機感を抱いているのちがいない。従って、そこで働いているエンジニアのかたがたもこれからの行く末に悩んでおられると思う。 そこでちょっと旧聞に属する話で恐縮なのですが、いくつかのブログ記事についてコメントしておきたいと思う。流しておけばいいのだが、どうも根的なところで勘違いしているようで気になっていたのであえて取り上げておくことにする。まずは、GoTheDistanceさんの「「SIerでのキャリアパスを考える」というイベントに登壇しました」というエントリーで(別に個人的にどうのというのではなく一般論として取り上げてみたのである、湯君ゴメン)、そこでのプレゼン資料を公開され、その解説が書いてある。 最初の問題提起として、「僕が常々問題にして

  • 継続開発のススメ - Twisted Mind

    概要 開発をすればリリースがあり、リリースが終われば開発があります。継続開発をする以上はリリースと開発の繰り返しです。 開発手法やリリース手段は沢山あるのですが、あまりしっくりくるものが無かったので自分でまとめてみました。 これで完璧というものは残念ながらこの世にないと思うので、これからも臨機応変に良い流れを作って行ければと思います。 この文章は以下のような構成になってます。書き殴りですみません。 バージョンの付け方 ソースコード管理とリリース タスク駆動 環境方針 定義 いくつか事前に定義しておかないと話しが訳わからなくなりそうなので。 バージョン管理には git を採用しています。 開発というのはコードを書く事だけを指してはいません。 ここでいうフレームワークは「自身で開発している」として扱います。そうしないとちょっと難しいので。 ライブラリは自身の開発とそれ以外があると思いますので、

    継続開発のススメ - Twisted Mind
  • いち早く70%〜80%程度の完成度で人に見せられるものを作ることがいかに重要か、という話 - 肉とビールとパンケーキ by @sotarok

    去年の年末、Facebookで以下の様な画像が流れてきて自分もついついシェアしたんだけど、久々に、というか、自分にとってのここ最近の課題をドンピシャで突かれたような気がして、しばらく頭から離れなかった。 出展: 中村 修治 - 中村 修治さんの写真アルバム | Facebook 「プロ」か「アマチュア」か、というのはこの際どうでも良くて、この図の、上の曲線が、目指すべきところだなって話なだけなので、とりあえずその話をまとめてみることにする。 けど、まぁ、だいたい、こういう話をまとめるのは苦手だし途中で面倒になってしまうので、以下サブセクションだけ先に作ってみたものの、ちゃんと書くかどうかわからない... が、まあ、いい!あと、なんかグダグダ書いてしまいそうだけど、結局、サブセクションのタイトルにしたことをこねくりまわしているだけです。 作ってみるまでわからない 何にも言えることだけど作って

    いち早く70%〜80%程度の完成度で人に見せられるものを作ることがいかに重要か、という話 - 肉とビールとパンケーキ by @sotarok
    shimooka
    shimooka 2012/01/05
    アイデアの全体像が掴める程度の物を早く作って早めにフィードバックを得るのが大事、という話と読んだ。 ウォーターフォールやアジャイルなどの方法論的な話になりがちだけど、どの手法使ってもこのことは大事
  • もじぴったんPS2版でのパッケージ改良(裏)

    PS2版もじぴったんの発売後、パッケージに問題があり、来は大人、特に大人の女性が楽しめる商品だったのに、それがうまく伝わっていなかった事がわかりました。 過去記事:もじぴったんPS2でのパッケージの失敗 逆に言えば、そこの伝え方をうまくすれば、まだ「もじぴったん」を買って頂けると考えていました。 過去記事:失敗の中から機会を発見する姿勢 そんな時にベスト版(廉価版)の発売の話が舞い込みます。 ほんとにこの時には色々あったのですが、今回は特にパッケージデザインの話をします。 通常、ベスト版発売時には最初に発売されたオリジナル版からデザインや表記の中身を変更する事は基的にありませんでした。ベスト版にする時には共通のフォーマットがあって、それにあわせて修正を加えるだけ、なのが普通でした。 しかし、パッケージの問題点がはっきり分かっていた事もあり、絶対に修正が必要だと思った僕は、関係各所にかけ

    shimooka
    shimooka 2011/06/03
    最後の一文はいろいろと当てはめられそう
  • 技術/リズム駆動開発(Rhythm-Driven-Development) - Glamenv-Septzen.net

    id: 605 所有者: msakamoto-sf 作成日: 2010-03-02 23:07:25 カテゴリ: プログラミング [ Prev ] [ Next ] [ 技術 ] 半分ネタ、半分気。 リズム駆動開発(Rhythm-Driven-Development)の目的 「リズム感」をソフトウェア開発に導入することにより、個々人のプログラマの生産性を向上させる。 実施方法 特に開発フェーズにおいて以下の3ステップをリズミカルに繰り返し、プログラマが快感と安心を得られるようにする。 コードを書く。 コードを実際に動かしてみて動作確認する。 コードを洗練する。(できれば設計も) より具体的には、例えばテスト駆動開発(TDD)が挙げられる。 TDDの場合、上の「コードを実際に動かしてみて動作確認する。」部分にxUnitなどのテスティングフレームワークを導入することで、この3ステップをコード

  • 「個別案件」ではプログラミングの可能性を生かせない - 設計者の発言

    ソフト開発企業に所属するプログラマが十年一日のように「個別案件」を相手にしているというのは、マイケル・ジャクソンが盛り場あたりで毎晩「流し」で日銭を稼いでいるようなものだ。もったいない。そんなやり方ではマイケルやプログラミングの可能性がもたらすさまざまな効果を享受できない。 仮にあるソフト会社が「ロボットの振る舞いのカスタマイズサービス」を提供しているとしよう。顧客の要望がそれぞれ微妙に違うとすれば、彼らはまず個々の要望を様式化して、その内容をあるソフトウエアに読ませるだろう。そうすればそのソフトウエアが個々の要望にしたがってロボットを動かしてくれるからだ。そんなソフトウエア、すなわち「ハードウエアドライバ」をあらかじめプログラミングしておくのが、その事業で効率的に稼いでゆくための賢いやり方というものだ。 ところが、現在の「基幹業務支援システム開発事業」の分野では、あらかじめドライバをプロ

    「個別案件」ではプログラミングの可能性を生かせない - 設計者の発言
  • きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません

    「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。 http://blog.shibu.jp/article/28983162.html 自分なりにもっと凝縮版を。渋川さんが言っている事全体もその通りとは思うけど*1、もっと簡単で、しかも射程が広い、と自分が思っている事。 渋川さんはちょろっと触れてるだけだけど、自分はこれが最も基的で汎用的、かつ、ソースをきれいにする原動力となる上にバグをも減らしてコードの汎用性まであげる、コーディングのエンジンみたいなものと思ってる。それは、 「すべてに正しい名前を付けて、そして、正しい名前であることを維持する」という鉄の意志 クラス

    きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
    shimooka
    shimooka 2009/05/17
    『「このままでは何かがおかしい」と感じながら作業を続けている』
  • 人気のAPI/フレームワークを作るための39カ条

    ある仕様を利用するための網羅性の高いライブラリを用意したいとき 再利用性が高い(と思われる)プログラムをライブラリ化したいとき Webシステムを外部から利用してもらうために一部分を公開したい場合 多人数で開発する事柄で共通化させておきたい部分をまとめたい場合 ほかの言語で作られたアプリケーションをある言語で利用したいときの橋渡し用 ちなみに、JSP/Servletの世界でよく使われているStruts Frameworkは開発者のCraig McClanahan氏が休暇中に思い付いて開発したものだそうです。オレゴン州のビーチで、ラップトップに向かい、3日間の休暇中ずっとコーディングしていたそうです。 一緒に行った奥さんは機嫌が悪かったようですけど。 ここでは、作成したAPIが自分だけではなく、多くの人に使ってもらえるよう、便利に使えるポイント、広く普及するためのポイントをとらえていきましょう

    人気のAPI/フレームワークを作るための39カ条
  • 1