タグ

プログラミングに関するtakamR1のブックマーク (122)

  • プログラミングは「名前」が9割。 - このブログは証明できない。

    プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や

    プログラミングは「名前」が9割。 - このブログは証明できない。
    takamR1
    takamR1 2011/09/26
    わかるわー。それだけ名前を考えないPGが多すぎるという事でもある。
  • ソースコードの品質向上のための効果的で効率的なコードレビュー

    Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/

    ソースコードの品質向上のための効果的で効率的なコードレビュー
    takamR1
    takamR1 2011/09/13
    クソース、uncode撲滅
  • 仕事でコードを書いていますがどうしても同期と比べて仕事が遅いです。早くコードを書くコツや短くまとめるコツなどがあれば教えてほしいです。あと普段どんなことを意識してコー��

    このボーナスは、ゲームを始める前にリスクを避けたい人にとって、非常に有利な条件です。また、フリースピンからの勝利金は賭け条件があるものの、無料で始められる点が大きな魅力でしょう。 おすすめ2実績あるオンラインカジノ ベラジョンの姉妹ブランド インターカジノは、信頼性の高さでも定評があります。 特に、同じ運営会社が手がける有名なオンラインカジノ「ベラジョン」と姉妹ブランドであるため、運営の透明性や安全性が保証されています。 1996年に設立され、20年以上にわたってプレイヤーから愛され続けているという実績が、プレイヤーに安心感を与えているのです。 また、厳格な規制を守って運営されており、キュラソーライセンスを取得しているため、プレイヤーは安心してゲームを楽しめるでしょう。この運営体制と信頼の高さは、初心者からベテランプレイヤーまで幅広い層に支持されています。 おすすめ3キャラクターが特徴的

    仕事でコードを書いていますがどうしても同期と比べて仕事が遅いです。早くコードを書くコツや短くまとめるコツなどがあれば教えてほしいです。あと普段どんなことを意識してコー��
    takamR1
    takamR1 2011/09/10
    組織の中にも、「動けばいい」コードを書く人と、「メンテする人ことを思って」コードを書く人が明確に分かれるよね。未来を想像することをやるかどうかの違いだと思う。
  • ソフトウェア工学とは何か

    ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W. Reeves 氏に,

  • 良いデベロッパになる為の13のTIPS

    読みやすいTIPSのリストが話題になるのは洋の東西を問わず見られる現象です。ハンガリーのブタペストのデベロッパ、Csaba Okronaさんが書いた記事が話題になっていました。さっそくその項目を見てみましょう。 レッスン1 全体像を理解せよ コーディング作業だけに囚われず、ビジネスやプロジェクト等の面からも理解する。 レッスン2 自分の時間を確保せよ 残業や早出は結局バグを招く。スピードは良いデザインと正しいアーキテクチャから生まれる。 レッスン3 間違った時は考え方を変えるチャンス 既存の技術で問題が遅くなってきたような場合は新しい技術へ移行する。ただし既存の技術がうまく行っている場合にただトレンドを追ったりはしない レッスン4 脳を鍛え続けろ 日々のタスク以外の鍛錬を行え。コードゴルフなどはよい例 レッスン5 人生を大事にする 特に重要。残業が続けば燃え尽きるのも早い。 レッスン6 集

    良いデベロッパになる為の13のTIPS
  • 「プログラミングへのこだわり」を方向づける - 設計者の発言

    業務システムの生産性や保守性を高めるための基は「コードを1行でも減らす」である。なぜなら、コーディングとこれにともなうテスティングこそが、開発作業の中でもっとも人手のかかる作業だからだ。個別案件においては、良いコードだろうが悪いコードだろうが少なければ少ないほどよい。 いっぽう、そんな方針と明らかにそぐわない人たちがいる。彼らはプログラミングそのものに強いこだわりを持っていて、より良いコードをより多く生み出すことに生きがいを感じる人たちだ。チャーミングな彼らの姿を個別案件の開発現場で見るたびに、私はキャスティングの失敗事例を見る思いがして切なくなる。 それは全国チェーンの外店の厨房に、新しい料理を生み出すことに情熱を覚える若者が働いているようなものだ。彼がどう工夫しても、全国一律の料理メニューを改変するのは難しいだろう。そんな才能あふれた若者には、部の企画部門で働いてもらったほうがい

    「プログラミングへのこだわり」を方向づける - 設計者の発言
  • いっしょに仕事をしたいプログラマ 5つの特徴 - たごもりすメモ

    ちょっとこんなことを考えるきっかけがあったので、ざっと書き出してみた。Webに公開されている情報からあるプログラマについて見てみたとき、どういう人ならいっしょに働いてもいいかについて。 ここに書く内容はソースコードの品質以前の問題についてのみにしてある。だからこの特徴を満たしていればどうということに直接なるわけではない。ただ、欠けているところがあれば、少なくとも自分はその人といっしょに仕事をしたいとは思わないだろう。 なお自分は現勤務先の採用活動にはかかわっておらず、このエントリの内容は勤務先の採用基準とは全く無関係です。 学生さんなどの場合にはまた話が違うと思います。 あと割と自分のことは棚に上げてます。「お前これできてねえじゃん」という部分については都度ご指摘をいただけますと大変ありがたく思います……。 1. その人が書いたソースコードが公開されている 日語で何を言われてもぶっちゃけ

    いっしょに仕事をしたいプログラマ 5つの特徴 - たごもりすメモ
  • 問題の多いソースコードは縦に延びる - rabbit2goのブログ

    ソフトウェアの問題点を調査していたら、一つの関数で1000行を超えるものに出くわしたことがある。そんな長い関数を作るからバグが生まれるのだよと思いつつ処理内容をチェックしてみるが、24インチのモニタに表示させても全体像がサッパリ分からない。仕方ないのでプリントアウトした13枚のA4ペーパーを床に並べ「このif文がここまで延びて...」等と赤ペンを片手に構成を解きほぐしていく。同レベルの処理が並んでいるだけならあまり問題ないのだけど、来異なるレイヤーで行うべき処理を1箇所に無理矢理押し込んでいるので解読する方も大変だ。 開発者は当にこの長い長い処理を理解してコードの改変を行っているのだろうか?という疑問はあるが、その前にそもそも何故こんな巨大なコードになっているのだろうか?Subversionのリポジトリから変更履歴を参照してみると、長年に渡って多くの人がコードの改変を行っており、誰か特

    問題の多いソースコードは縦に延びる - rabbit2goのブログ
  • それは説明責任の問題 - rabbit2goのブログ

    ソフトウェア開発者の仕事は、もちろん納期通りに要求されたソフトウェアを開発することだけど、それだけではない。成果物に対する説明責任も伴うはずだ。 どのようなアーキテクチャ、デザインパターンを採用しているのか? モジュール構成、クラス構成はどうなっているのか? 何をどのようにテストすれば良いのか? 性能面、機能面でのボトルネックはどこか? どのような障害が発生したのか? 次の派生開発時に改善すべき問題は何か? 通常、これらの情報は仕様書などの資料として残したり、申し送り事項という形で整理されるはずだ。もちろん、ソースコードを読めば分かるようなことはどうでも良くて、そのコードの背景にある設計思想とか、大量のコードの中に埋もれがちな考え方、役立った開発資料などの情報の方がずっと重要な意味を持っていたりする。こんな情報こそ整理しておく価値があると思う。 しかしながら、開発が終わって一安心するのか、

    それは説明責任の問題 - rabbit2goのブログ
    takamR1
    takamR1 2011/05/17
    自分で説明できないコードを1行たりとも書くな!
  • 品質は作り込むもの - rabbit2goのブログ

    ソフトウェア開発において、ありがちな品質対策の例。 テスト作業への人員追加 テスト期間の延長 テスト体制の見直し 経験的に言って、こんな素性の悪いソフトウェアに関わるとロクな事が無い。根的な作りが悪いソフトウェアを、いくらテストでフォローしようとしてもそれは無理というものだ。出血が続いているからと言って、傷口に絆創膏を貼り続けても何も解決しない。対処療法が効くのはほんのつかの間に過ぎないし、それでカバーできる範囲は極めて限られている。やるべきなのは出血が続いている根原因を突き止め、その出血を抑えるための施策を取ることだろう。テストによってマイナス10点がマイナス5点に上がったことを指して「品質が改善した」と主張するのは大きな誤解だし、そもそもいくらテストを続けても決してプラスの点にはなり得ない。スティーブ・マコネル氏がCode Completeの中で言っているように、テストは品質を改善

    品質は作り込むもの - rabbit2goのブログ
  • プログラマーは自分のコードを疑え - 南極の図書館

    若い頃にはよく陥る過ちだと思う。 最近やってしまったので自戒エントリ。 1.テストでバグ発見。 2.共通で使っている様々な計算をするクラスのメソッドから期待した値が戻ってこない。 3.どう考えてもこの(自分以外が作った)メソッドが業務上の例外を考慮してないだろ(履歴を見ると何度も問題があったモンスターメソッドだ)。 4.読み辛いながらも、そのメソッドのバグを探す。 5.どうもバグってないように見えるので、そのメソッドが使っている定数まで疑いだす(どんだけだよ。) 6.よく見たら私が書いたメソッドの呼び出し方が悪かった(結論) この歳になってこれはないよ。。。 でも「今更やってしまった」と実感できたのは良かった。 今後、バグを見つけたら、自分のコードを徹底的に疑う。 以下余談。 テストのコストが高いのがネックだと感じる。 数秒で終わるUTのコードがあればぐるぐるまわすんだけど、テストコードを

    プログラマーは自分のコードを疑え - 南極の図書館
    takamR1
    takamR1 2011/04/22
    「レガシーコードとは何ぞや」の実例
  • GitHub - google/styleguide: Style guides for Google-originated open-source projects

    Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style. “Style” covers a lot of ground, from “use camelCase for variable names” to “never use global variables” to “never use exceptions.” This project (google/stylegu

    GitHub - google/styleguide: Style guides for Google-originated open-source projects
  • schemes | Studio Styles

    Categoría: schemes Top-rated | Popular | Latest | Recently updated Mejora tu productividad en Visual Studio La productividad es esencial en cualquier entorno de desarrollo de software, y algo tan simple como la elección de los colores en tu editor puede tener un impacto significativo. Visual Studio, uno de los IDEs más populares, ofrece amplias opciones de personalización de colores que pueden ada

    takamR1
    takamR1 2011/02/24
    VisualStudioのエディタ配色設定ダウンロード
  • Review Board - It's a bright day for code review!

    It's a bright day for code review! Still on pull requests? See why organizations upgrade to Review Board: Code review, document review, and image review, all in one place Your code and data stays private, secure, and in your control (Review Board won't mine your data for AI training or other purposes) Works with what you use today (such as Git, Mercurial, Perforce, ClearCase, Cliosoft SOS, or Azur

    Review Board - It's a bright day for code review!
  • 見習いプログラマが読んだら、すぐにジョブレベルが上がる10冊 : ソースコードは飲み物です。

    2010-11-24 05:56:00 GMT 某所で『プログラマが読むべき10冊』というのが公開されてましたが、 どうみても中身が重いし、バックグラウンドの知識が必要なものが多いと感じたので、 即、血となり肉となるを独断と偏見でまとめてみました。 ジャンルごとの順番です。どれも読むべきだと思うので敢えて順番はつけません。

  • 『見習いプログラマ(中略)10冊』を書いた理由と、更に読んで欲しい5冊 : ソースコードは飲み物です。

    2010-11-28 04:26:00 GMT (※)このエントリは『見習いプログラマが読んだら、すぐにジョブレベルが上がる10冊』の補足になります。 (1)前回のエントリを書いた理由 (2)頂いたご意見に対して (3)更に読んで欲しい5冊 の順に書きたいと思います。 『戯言はいいからだけ教えれ』という方は下のほうの(3)へ (1)前回のエントリを書いた理由 僕がプログラミングを最初に学んだ頃(まだテレホーダイの時代) プログラミングを学ぶのにどのが良いかなんて情報がさっぱりありませんでした。 手当たり次第に買うしかありませんでした。 #当時は『大人のCGIスクリプト』を書名に惹かれて買い、ログファイルが飛ばないカウンタ・掲示板の作り方を見て感動していました。 #ログファイルを二重に用意し、更新日時が新しいほうを読み出し、内容を変更・追加し、更新日時が古いほう上書きするとい

  • 技術的負債

    リーンソフトウェア開発と組織改革 作者: Mary and Tom Poppendieck 著、 依田光江 翻訳、 依田智夫 監訳出版社/メーカー: アスキー・メディアワークス発売日: 2010/10/09メディア: 単行(ソフトカバー) 技術的負債 成功するソフトウェアは変化している。成功するコードは変更を受け入れやすく書かれている。コードの変更をむずかしくするものはすべて技術的負債である。技術的負債は、ソフトウェアの所有コストを容赦なく引き上げ、いずれその精算を迫られたり、システムが破綻したりする。そんなことはすべてわかっている。けれども現実は・・・・ 誰が引き継いでも意図が明確に伝わるコードを書こうとせずに、不明瞭なコードがあっても受け入れてしまう。開発者は、特に経験の浅い開発者は、「クリーンなコード」の書き方を訓練されるべきだ。クリーンなコードとは、わかりやすいロジックに基づく、

  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • へ〜たのめも:Google のソフトウェア・エンジニアリング - livedoor Blog(ブログ)

    2007年06月07日 Google のソフトウェア・エンジニアリング Google Developer Day Tokyo の鵜飼さんのプレゼンより、「Googleエンジニアはどうやって開発しているのか?」 Google の研修 入社して最初の 3ヶ月は社(Mountain View)で研修 研修中は、メンターがついて「Google での開発の仕方」を学ぶ 内部ウェブ・サイトで社内共有ライブラリの使い方などを説明する動画があるので、それで自習 Googleプロジェクト・チーム 開発拠点は米国、スイス、オーストラリア、インド、日など 場所とプロジェクト・チームは関係なく、プロジェクト・チームが拠点をまたがることは普通。世界中の拠点全部合わせて、一つの Google エンジニアリング・チーム 開発はデザイン、コーディング、テスト、改善、デモの運用まで上流から下流まで同じチーム(同

  • 保守できないコードは「がらくた」

    ソフトウェアエンジニアの責任に関して、『Taligent's Guide to Designing Programs: Well-Mannered Object-Oriented Design in C++』には次のように書かれています。 ソフトウェアエンジニアの責任は、何年も使われ続けるビジネス資産を作り出すことです。ソフトウェアエンジニアが、他人の書いたコードを理解することができない場合には、そのコードはあっさりと捨てられ、一から書き直されてもおかしくはないでしょう。残念なことに、このような書き直しは頻繁に起きています。コードを読みやすく保守性を高めることは、コードを正しく動作させることと同じくらい、あるいはそれ以上に重要です。正しく動作しないコードは、動作するように修正することができます。保守できないコードは、がらくたに過ぎません。資産としてのソフトウェアを開発することが重要ですが、