タグ

programmingに関するkknsdのブックマーク (433)

  • レビューで鍛えるJavaコーディング力 その1(日付バリデーション) - 谷本 心 in せろ部屋

    現場でJavaのソースをレビューしていると、一目で「問題だ」と気づくコードによく出会います。 しかも、同じような問題をアチコチで見かけることも、少なくありません。 FindBugsを導入したおかげで、そういう問題が多少減ったものの、 やはりゼロになるわけではありません。 、、、ということで、 そんな問題コードに即座に反応できるようになるために、 私が見てきた問題コードをクイズ形式で紹介していきます。 ぜひ皆さんも、脊髄反射でNG部分を見つけてください。 見つけられなければ、適当にブクマでもしてください(笑 では今回は、日付チェックに関する問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 /** * 日付が正しい形式であり、存在する日付であることを検証します。 * * @param date 日付を示す文字列 *

    レビューで鍛えるJavaコーディング力 その1(日付バリデーション) - 谷本 心 in せろ部屋
  • Code Kata

    Roman Numerals Kata with Corey Haines This is the audio comentary of the Roman Numerals Kata Battle… original link here FizzBuzz: A JavaScript Code Kata, TDD Style A simple demonstration of JavaScript TDD workflow. More background information at: messynotebook.

    Code Kata
  • Code Style Guide ‎(Android Open Source Project)‎

    If you are interested in developing applications for Android, visit the Android application developer site. Android Code Style Rules The rules below are not guidelines or recommendations, but strict rules. You may not disregard the rules we list below except as approved on a need-to-use basis. Not all existing code follows these rules, but all new code is expected to. Java Language Rules We follo

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • “読み方”を知って、レビューをもっと効果的に

    ソフトウェアレビューは、ただ漫然と行うだけでは期待する成果を得られない。ソフトウェアの品質向上に寄与する効果的な“指摘”をもっと効率的に行うためには、“それなりの読み方”がある なぜリーディング技法を使うか? 第1回『“確実な記録”こそが、品質・コストに貢献する』では、「何のためにレビューを行うのか、そのために何を重視するのか」といった“観点”を持つこと、すなわち「目的を明確化すること」がレビューを成功させるポイントだと解説しました。 今回解説するリーディング技法とは、そうした「目的」を達成するために、レビューアが「ドキュメント類をどう読み進めていくか」を具体化したものです。一方、プロジェクトマネージャや品質管理担当者など、レビューを管理するメンバーにとっては、技法の種類が「レビューでどんな問題を発見できるのか」大まかに推測する手掛かりとなります。すなわち、「目的」に応じてどのリーディング

    “読み方”を知って、レビューをもっと効果的に
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~後編

    はじめに 前回に引き続き、Javaの後継候補として注目されているプログラム開発言語「Scala」について説明していきます。今回は、ScalaJavaの代替として使える点(「ベターJava」として使える点)に注目します。 シリーズ前編として、前回はScalaのメリットや、基礎的な文法について説明しました。シリーズ後編となる今回は、プログラムのコンパイルや、データベース接続について扱っていきます。 これまでの連載 Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編 コンパイルとデータベース接続 ここからはプログラムのコンパイルとデータベース接続を扱います。なお、以降すべてのプログラムを実行するためにはエディタの文字コードを、UTF-8に設定する必要があります(UTF-8以外の文字コードでは、日語などの取り扱いに失敗します)。 Scalaでのソースコードの記述

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~後編
  • ソースコードのコメントよりも空白行のほうが理解を助けるという研究結果:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    IEEE Transaction on Software Engineeringの論文Raymond P.L. Buse and Westley R. Weimer: Learning a Metric for Code Readabilityから。120人の被験者が10種類のオープンソースプロジェクトのソースコードの一部(20行等、非常に局所的)をもとに読みやすさに影響を与えることを実験結果から示している。 25種類のメトリクスと読みやすさとの相関を求めている。メトリクスには、コメント行数や予約語の数、空行の数、括弧の数、変数名の長さ、変数の個数などが含まれる。このうち、読みやすさに最も影響を与えやすいメトリクスとして、1位に変数の個数、2位に行数、3位に括弧の数、9位に空行数、15位にコメント行数が示されている。 この論文では、多くの人に短時間で読みやすさが評価できるように、対象ソース

    ソースコードのコメントよりも空白行のほうが理解を助けるという研究結果:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
  • 参照はポインタと比べるべきではない - みねこあ

    協力会社のデキるプログラマを次々と切り、代わりにあまりものの正社員が投入されてしまった現在の我が開発チームのレベルは低く、殆どプログラミング専門学校のような様相を呈しています。可愛い男の子が「わかりませーん」というのは萌えますが、30台後半のおじさまが「わかりませーん」というのは殺意が沸きます。 自称 「STLは使ったこと無いけど、C++ 自体は解ってます」な方なのですが、「C++出来ます」の自己申告は危険です。たとえば、曰く、参照がわからない、ですとか。・・・・テケスタ。テケスタ。 ただ、参照には教え方にコツがあるのではないかと思いました。 Cのポインタが文法も概念も引っかき回していった後だけに、他の言語では何でもない「参照」がこんがらかりやすいのは事実です。そういう風に思い直して、こんな解説をしてみました。 * * * C++ の参照と対になるのは、ポインタではなく、通常の変数です。C

    参照はポインタと比べるべきではない - みねこあ
  • inforno :: 個人的Go雑感&メモ

    GoogleGoという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言

  • [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記

    問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムのやサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境

    [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
  • Route 477 - gemcutterの使い方まとめ (2009年秋)

    ■ [haskell] モナドって結局なんなの 社内勉強会でモナドについて発表しました。分かった気がするたびにすぐに手からすりぬけてしまう、それがモナド…! 追記: モナドそのものが何なのかとか考えないほうがいいんじゃないですかね! [Twitter / いーぐるとまとより引用] まさにその通りだと思います(笑)。IOの使い方、Maybeの使い方、Stateの使い方などを押さえておけば、 中がどうなってるかなんて知らなくても大丈夫。 でも、モナドの持つ「なんか秘技がありそうな感じ」が、中を覗いてみたくさせるんですよね。 この、どこまで掘っても自分の知らないことが出てくる感じがHaskellの魅力なのかも。 Haskell の当にすごいところは、「なぜなに」を問いかけることでいつまでもプログラマが成長できるところにある。 [ふぁぼったー / ikegami__より引用] 一問一答 Q. モ

    Route 477 - gemcutterの使い方まとめ (2009年秋)
  • Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS

    1st Seasonはこちら。Throwableについて気出して考えてみた - 都元ダイスケ IT-PRESS 以前は、何かをスローする状況を3つに分けてそれに合った設計をした例外を投げましょう、という考え方を示しました。 callerのバグ: RTE calleeのバグ: Error どちらでもない: Exception (非RTE) まぁ詳しくはSeason1の方で。 Seasar2はRuntimeExceptionですね。2004年ぐらいからのフレームワークはRTEをスローしていると思いますよって、ひがさんから情報。 チェックされる例外とチェックされない例外について - じゅんいち☆かとうの技術日誌 ただ、上記のような考え方もあるのも事実。実際.NETRuby, Python, 新鋭のScala等もcatchを強制する例外というものが言語仕様的に存在しません*1。逆に、チェック例

    Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • Clojure

    Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • ソースコードの心脳問題 - プログラマーの脳みそ

    先のコードコメントに書くべきは「意図」 - プログラマーの脳みその関連でソースコードの心脳問題という話をしよう。 心脳問題というのは脳という分子機械が、いかにして心を持つのかという哲学のような脳科学のようなテーマの話題。*1紀元前にプラトンのイデア論にて意識とは何かという基礎命題は与えられていたわけだけども、古代には哲学の範疇に収まっていた。 ところが現代のコンピュータサイエンスでは、脳みそのシュミレーションがかなりの規模でできるようになってきていて、工学的に脳を作れる時代が近く迫ってきている。2007年の記事になるが 今回、現在世界最速の性能を持つ「BlueGene L」スーパー・コンピューター上に、マウスの脳の半分にあたる800万のニューロンの働きを再現させる事に成功したそうです。 使われたのは、それぞれが256MBのメモリを使用する、4096台のプロセッサを持つ「BlueGene L

    ソースコードの心脳問題 - プログラマーの脳みそ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • マルチコア時代の新機軸! Snow LeopardのGCD (1/4)

    Mac OS X 10.6 Snow Leopard」は、アプリケーションやカーネルを64bitに対応させたことで性能の向上を図っている(関連記事)。 ただ、それだけでは実行速度を大きく引き上げることはできない。そこでSnow Leopardは、「Grand Central Dispatch」(GCD)と「OpenCL」というふたつの仕組みも用意している。今回はこのうち、プログラムを並列化する枠組みであるGCDについて取り上げよう。 目次 64bit対応 アプリケーションを64bit化、カーネルを64bit化、Windowsの64bit化は? Grand Central Dispatch GCDが生まれた背景、GCDとは何か?、GCDの仕組み、GCDを使ったプログラミング、GCDの今後と将来 OpenCL OpenCLが生まれた背景、OpenCLの仕組み、著名企業がサポート コラム マル

    マルチコア時代の新機軸! Snow LeopardのGCD (1/4)
  • とりあえず Java コーディング規約を読んで思ったことを幾つか書いてみるよ! - SiroKuro Page

    経緯 > id:SiroKuro > ぶっちゃけ自分の腕試しを兼ねて、こういう間違い探しやってみたいんだけど、何か良い題材は無いかな。だれか紹介してよ。 おぉ、ちょうどいいんじゃないでしょうか?ISID 版。 http://d.hatena.ne.jp/bleis-tift/20090804/1249389793#c1249471653 ということで読んでみました。読んでみた感想は……意外と好感触?だったりします。 とりあえず編 名前をつける時はすべて英語を基としてください。 JavaCodingStandard2004_P.9 クラス名には、機能 ID、連番等の意味のわかりにくい名前を使用しないでください。 JavaCodingStandard2004_P.11 賛成。ローマ字で付けられた名前は見難くてしかたがない。うちはNの規約を使ってるけど、ここが最大の不満点。 パッケージ名は、

    とりあえず Java コーディング規約を読んで思ったことを幾つか書いてみるよ! - SiroKuro Page