タグ

ブックマーク / developers.srad.jp (9)

  • リファクタリングしてもコードの質は改善されないという実験結果 | スラド デベロッパー

    ソースコード中の記述を整理したり、変数名や関数名を分かりやすく書き換えることはリファクタリングと呼ばれているが、実験の結果、リファクタリングを行ったとしてもコードの質が格段に良くなるものでもないことが分かったそうだ(ITWorld、Slashdot)。 調査を行ったのはスリランカの研究チーム。リファクタリングによりソフトウェアの品質が外部的・内部的にどれほど向上するのかを調べたそうだ。実験には、オンラインドキュメント評価のスケジューリングおよび管理を行う小規模のアプリケーション(4,500行ほどのC#コード)が用いられ、10個の一般的なリファクタリング技術が適用された。 実験の結果、実際の統計では大きな差はみられなかったもの、参加者らの採点によればリファクタリングされたコードの方が解析性が劣り、コードのバグ修正と実行にはより時間がかかるようになったという。また、リファクタリングしたからとい

    r-west
    r-west 2015/03/06
    論文チラ見したけど肝心のリファクタリング前後のコードが隠されてるので、百歩譲って言えるのは、カタログにある変換を適用しただけだと、この程度の効果となる場合がある、というだけ。
  • プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー

    あるプログラミング言語がその仕事に適したものであるかといった議論は論争に発展しがちだ。時には宗教戦争の様相を呈することがあるものの、プログラミング言語がコーディングプロセスだけでなく完成した製品の特性にも影響することは多くの方が同意するところだろう。これについてカリフォルニア大学デイビス校のコンピューターサイエンス研究者らが、プログラミング言語のソフトウェア品質に与える影響(PDF)に関する調査結果を発表した。研究ではGitHubの729プロジェクト(17言語、29,000人が書いた8,000万行のソースコード、150万コミット)を分析。大きなサンプルサイズを利して混合研究法のアプローチをとり、複数の回帰的モデリングやテキスト解析を組み合わせて静的型付けと動的型付け、型付けの強弱といったプログラミング言語の特徴がソフトウェアの品質に与える影響を調べた。異なる手法による調査結果を組み合わせ、

    プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー
    r-west
    r-west 2014/11/08
    利用者のスキル…"同じカテゴリの言語でも、Perl(-0.15)とPhp(0.15)、Clojure(-0.29)とErlang(-0.00)のように、けっこうばらけていて"
  • 人為的にバグを挿入することでバグの総数を予測する「池の中の魚」モデル | スラド デベロッパー

    ストーリー by hylom 2012年11月22日 18時13分 その作業をテストケースをたくさん作るほうに振り分けるべき 部門より ソフトウェア中に存在するバグの総数を予測するための方法として「池の中の魚」モデルというものがあるそうだ(@IT)。 この方法は、デバッグ前にデバッグ担当者に分からないように意図的にバグを挿入することでバグの総数を予測するというもの。デバッグ作業後、発見されたバグの数から全体のバグ総数を推測するという。たとえば10件の意図的なバグを挿入し、発見されたバグの数が20件、そのうち意図的に挿入されたバグが5件だったとすると、全体のバグのうち50%が発見された、と判断できるという。 ただし、よく知られているとおりバグのないソフトウェアは存在しない。そのため、この手法の有効性については疑問の声が多く、実際に使われているケースは少ないようだ。

    r-west
    r-west 2012/11/23
    これわざわざ仕込まなくても、修正が間に合わなかったバグを黙ったままQCに渡せば同じ。経験からうちのQCの発見率も分かってるけど言えないモゴモゴ...。
  • 訃報: C 言語の開発者、デニス・リッチー氏が死去 | スラド デベロッパー

    Google+ で Rob Pike 氏が語ったところによると、C 言語の開発者、K&R の R であるところの Dennis Ritchie 博士が亡くなられた。70 歳 (Rob Pike 氏による Google+ への投稿) 。 長らく闘病中だったとのことで、先週末に自宅で息を引き取ったそうだ。

    r-west
    r-west 2011/10/13
    CとUnixがなかったら世界はどうなっていただろう。@kenichiromogi は彼の功績をどう評するつもりだろう
  • 「もっとも高給」といわれるHFTプログラマになるにはどうすればよい? | スラド デベロッパー

    近年金融取引の世界では、コンピュータを使って高速で取引を繰り返す高頻度取引(HFT)が普及している。HFTシステムに携わるエンジニアは「プログラマとしては最高レベル」という高収入が得られるそうで、技術者からの関心も高まっているらしいのだが、家/.にて、このHFTシステムのエンジニアになるにはどのような知識が必要か、ということが話題になっている(Application Development Trends)。 まず、最も必要とされるプログラミング言語はC言語であるという。C言語と並んで使用頻度の高いのはJava、Matlab、Cuda。CudaはGPUで並列処理アルゴリズムをプログラミングするのに使用されるが、その頻度がますます高まっているという。またOSに関しては、「無駄を省いたカスタム仕様のLinuxが基」であるとのこと。 また、必要とされるスキルとしては「C#やJavaと併せてデー

    r-west
    r-west 2011/08/03
    元記事だと、HaskellとかOCamlとかSmalltalkとか、FPGA焼き込みとか、各社様々な方法を駆使してるみたい
  • カーネギーメロン大学コンピュータサイエンス学科、1 年次のカリキュラムから OO を除外 | スラド デベロッパー

    ストーリー by reo 2011年03月29日 12時00分 2 単位の講義は 90 時間なんですぜ ? 部門より カーネギーメロン大学のコンピュータサイエンス学科は 1 年次のカリキュラムからオブジェクト指向プログラミングの講義を除外したそうだ (家 /. 記事より) 。 大学側曰く「オブジェクト指向プログラミングは非モジュール的で非並行処理であるというその性質が現代のコンピュータサイエンスのカリキュラムに適さないと判断し、初年度のカリキュラムから完全に除外することを決めた」とのこと。オブジェクト指向プログラミングは 2 年次に「オブジェクト指向デザインメソッド」という選択講義として提供されるとのことだ。なお、この学科では初年度に関数プログラミングと命令型プログラミングの新しい講義が組み込まれ、これらを必修科目としてデータ構造およびアルゴリズムの新たな講義が計画されているとのことだ。

    r-west
    r-west 2011/03/29
    OOはあんまりCSの基礎にはならなそうだしね。理論的研究も難しそう。
  • 引き継いだプログラム、「自分のもの」にするには ? | スラド デベロッパー

    この仕事に就いてから、比較的大きなプログラム (3 ~ 4 万行程度) を何度か引き継いだことがある。元々の開発者らは、自分の書いたコードでもあるし (その仕様や動きを) よく理解していたが、自分はそこまでとは言えない。実際、プログラムに修正を入れる際は修正そのものよりも修正を入れるべき正しい位置を探すのに多くの時間がかかってしまう。 このように引き継いだプログラム、どうやったら理解できるようになるのだろうか ? 元の開発者らほどこのプログラムを「理解」できないのは自分の力量の問題ではなく、仕方がないことなのだろうか ? 家 /. には「一から作り直したくなるだろうが、それは絶対に避けるべきだ。汚く見えるコードにも、全て理由があったりするものだ。開発時の相談や議論、意思決定までの過程にいなかったからコードが理解できないのである。一から作り直しても、そういった問題への理解は深まったりはしな

  • コードレビューって意味あるの ? | スラド デベロッパー

    「こういうコードが恥ずかしいコードである」 という価値観について、上級技術者間で意識統一がなされていればね。 ようするにコードレビューと言うのは、大学の研究室で言う輪講とかと同じなんです。 コードをよりよいものにする、と言うのも目的の一つですが、コードを組んだ人のレベルアップを図る、という目的もある。 十分な人数の、良く判っているプログラマがいるならばペアプログラミングも良いでしょう。でもペアを組んで回れるほどレベルの高い人がいなかったら? 「教授と助教授と助手の目の前で発表させる」 しかないじゃないですか。 もちろん、この作業は「教授や助教授や助手」の時間をいます。もしあまりにも多くの時間をうのであれば可能性は次の3つのどれか。 初心者が多すぎる。そのため、「教授や助教授や助手」の時間をフルに使っても、全部など到底見切れない。コードの品質は悪いままである。初心者が少なすぎる。コードの

    コードレビューって意味あるの ? | スラド デベロッパー
    r-west
    r-west 2009/06/27
    レビュー要らないという奴は、programmingを舐めてる素人か、完全なる神か、のどちらか。問題は素人しかいない・素人の声しか通らない現場。
  • 最も危険なプログラミングエラーTop 25 | スラド デベロッパー

    ストーリー by hylom 2009年01月14日 17時04分 やはりよく言われている問題が多い、 部門より CWEとSANSが共同で「最も危険なプログラミングエラーTop 25」を取りまとめ、発表した。 このリストはSymantecやMicrosoft、米国国土安全保障省の国家サイバーセキュリティ部門、また日の情報処理推進機構(IPA)など、国際的かつ多岐に渡る組織の協力を得て作成された。パフォーマンス上の問題やセキュリティ上の脆弱性、またサイバー犯罪の原因となり得るプログラミングエラーのうち、特に頻度と危険性の高いとされるものが25点挙げられている。 エラーは大きく「コンポーネント間のコネクションが適切に保護されていない」「危険なリソースマネジメント」「不備のある防衛策」の3種類に分類され、それぞれのエラーには簡単な説明と対処法などが記述されている。挙げられているエラーは「入力デ

  • 1