タグ

ブックマーク / www.clear-code.com (8)

  • ノータブルコード2 - 斬新なコメントでコードの可読性を高める - 2020-01-15 - ククログ

    この新しいコーナー「ノータブルコード」では、私たちが開発の折々に目にした興味深いコードをご紹介しています。世の中の実際のプロジェクトから、興味深い素材を肩の凝らない形でご紹介していきたいと思いますので、楽しみにしていてください。 Brubeck - 創造的なコメントで見通しを良くする 第2回目に紹介するのは、GitHubが開発したStatsD互換サーバー Brubeck からの一コマです。 int brubeck_statsd_msg_parse(struct brubeck_statsd_msg *msg, char *buffer, char *end) { *end = '\0'; /** * Message key: all the string until the first ':' * * gaugor:333|g * ^^^^^^ */ { msg->key = buffer

    ノータブルコード2 - 斬新なコメントでコードの可読性を高める - 2020-01-15 - ククログ
  • Rubyのテスティングフレームワークの歴史(2014年版) - 2014-11-06 - ククログ

    2014年12月にRuby 2.2がリリースされる予定です1。 Ruby 2.2にはRuby 1.9.1のときに外されたtest-unitというテスティングフレームワークが再びバンドルされる予定です。Rubyのテスティングフレームワーク周りに詳しくない人にはよくわからない状況でしょう。そこで、Rubyのテスティングフレームワークの歴史を説明することで状況を整理します。 名称の整理 この説明の中ではたくさんのテスティングフレームワークが登場します。似たようなものもあるため、最初にテスティングフレームワークの名称を整理します。この説明の中で登場する名称は次の通りです。 RubyUnit Lapidary rubyunit Test::Unit test/unit test-unit miniunit minitest RSpec 違いがわかりますか?ざっくり説明すると次の通りです。 RubyU

    Rubyのテスティングフレームワークの歴史(2014年版) - 2014-11-06 - ククログ
    seiunsky
    seiunsky 2014/11/07
    やばいメッチャ良い資料
  • パーフェクトRuby - 2013-08-19 - ククログ

    2013年8月にRuby 2.0.0に対応したRubyの解説書が技術評論社から出版されました。 https://amazon.co.jp/dp/9784774158792 このの特徴はなんといっても網羅性でしょう。600ページを超える紙面でRubyの基的な機能から、2.0.0で新しく導入された機能、さらによく使われる標準添付のライプラリーとgemの解説をしています。長いことRubyを使っていますが、以下の機能はこのを読むまで知りませんでした1。 #keep_if Enumerator#feed Tread#fork MethodTransplaning Method#parameters Module#method_undefind 機能の説明にはサンプルコードと実行結果がついています2。文章だけの説明でピンとこない場合でも、コードで理解できます。このの一番優れているところはここで

    パーフェクトRuby - 2013-08-19 - ククログ
  • ifとreturnの使い方 - 2012-03-28 - ククログ

    はじめに わかりやすいコードを書くことはソフトウェア開発において大切なことです。では、具体的にわかりやすいコードとはどんなものでしょうか?その観点はいろいろなものがあります。その中で今回はifとreturnの使い方に注目します。 ifとreturn プログラミング言語とは、コンピューターの作業の処理手順を書くためにあります。その処理手順は複数にわかれています。その複数の処理手順を順番に実行していくことでコンピューターは作業をこなしていきます。 プログラミング言語にはいろいろな処理手順を書くためにifとreturnと呼ばれる機能があります。ある処理手順をある時だけ実行したい場合には、ifを使います。その時以外はその処理手順は実行しません。また、続きの処理手順があるがその時点で実行を中断したい場合には、returnを使います。続きの処理手順は実行しません。ifとreturnと組み合わせることで

    ifとreturnの使い方 - 2012-03-28 - ククログ
  • クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ

    最近読んだRubyのコードではYARDのコードがキレイでした。 さて、長いメソッドは不吉なにおいがするからメソッドを分割するなどして短くしましょうとはよく言われることですが、ここでいう「長い」とは「縦に長い」ことを指していることがほとんどです。長いのが問題なのは縦に長いときだけではなく横に長いときもです。 縦に長いメソッド まず、どうして縦に長いメソッドが問題かについてです。縦に長いメソッドには「処理を把握しづらい」という問題がある可能性が高いです。 どうして処理を把握しづらいか 処理を把握しづらい原因はいくつかあります。例えば、抽象度が低いのが原因です。 メソッドが縦に長くなっているときは、多くの処理が行われていることがほとんどです。これらの処理はメソッドになっていないため名前がついていません。処理に名前がついていない場合は実装を読まないとなにをしているかがわかりません。 せっかくなので

    クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ
  • デバッグしやすいHTMLのテストの書き方 - 2012-01-18 - ククログ

    注意: 長いです。 一言まとめ: withinとtest-unit-capybaraを使ってHTMLのテストを書くと問題を見つけやすくなる。あわせて読みたい: デバッグしやすいassert_equalの書き方 HTMLに対するテストに限らず、開発を進めていく中でテストが失敗する状況になることは日常的にあることです。HTMLの場合は、入力フォームのラベルを変更したり、項目を追加したら既存のテストが失敗するようになるでしょう。そのとき、どのようにテストを書いていれば原因を素早く見つけられるのかを説明します。ポイントは「注目しているノードを明示すること」です。 HTMLテストのライブラリ さて、Rubyで処理結果のHTMLをテストするときにはどんなライブラリを使っていますか?The Ruby ToolboxにあるBrowser testingカテゴリを見てみると、Capybaraが最も使われてい

    デバッグしやすいHTMLのテストの書き方 - 2012-01-18 - ククログ
  • 地獄のジェネレータ: Ruby Advent Calendar jp: 2010の24日目 - 2010-12-24 - ククログ

    注: この記事にライセンスは設定されていません。 これはRuby Advent Calendar jp: 2010の参加エントリです。前日はysakakiさんでした。 今年のAdvent Calender界隈では惚れさせを集めたり、惚れさせを作ったり、忙しい人でも惚れさせを見れるようにしたりしているので、もう一歩先を行くことにしました。 地獄の名札ジェネレータ 名札には名前を大きく書きましょうジェネレータに「地獄モード」が追加されました。 これを使うと札幌Ruby会議03のプロの無職を楽しむことができます。 地獄のコマンドラインジェネレータ 地獄の名札ジェネレータはTwitterのプロフィール画像や説明文から惚れさせ名札を生成します。フォームに自分のTwitter IDを(カチャカチャカチャ…)と入力して(ッターン!)と「生成!」できるのでお手軽ですが、もっと惚れさせるために試行錯誤したい

    地獄のジェネレータ: Ruby Advent Calendar jp: 2010の24日目 - 2010-12-24 - ククログ
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
  • 1