タグ

ProgrammingとCodingに関するatsushifxのブックマーク (10)

  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟
    atsushifx
    atsushifx 2017/01/24
    プログラミングを覚える上で、いいコードを読むというのは凄く力がつく方法。このリファクタリング前と後というのは、いかに筋のいいコードを書くかという点で最強の教材になりそう
  • プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem

    以下の記事を読んで。 530000micro.hatenablog.com 僕が勤めている会社では、原則、プログラムにコメントを書かないのがルールです。 人生で初めてプログラムに触れてからこのかた、プログラムには必ずコメントを書けと指導されて来ましたし、自分自身も、後輩たちにちゃんとコメント書けよと言い聞かせてきました。そんなわけで、最初に全然コメントのないソースコードの山を見たときは、正直「ゲッ、なんじゃこりゃ……」と面らったのは確かです。 ところが、「なぜうちのプログラムにはコメントがないのか?」と同僚に尋ねてみると、実に納得の行く回答が返ってきたのでした。 なぜコメントが必要なプログラムを書くのか? 同僚いわく、「コメントが無くても読めるようなプログラムを書け」という思想が根底にあるのだそう。 適切に関数や変数が命名され、スコープがきちんと管理され、ロジックの流れが整理されているコ

    プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem
    atsushifx
    atsushifx 2016/04/22
    原則コメントを書かないであって、まったく書かないわけではない。問題はコメントを含むドキュメントと実際のコードの乖離であって、必要なコメントは書くべき。ここらへんはアジャイルでのドキュメントレスと一緒
  • fs.exists()がdeprecatedになった理由

    wearefractal/vinyl-fs の dest(folder, [opt]) が出力先のディレクトリが無い場合でも、そのディレクトリを作ってくれないということで、自分で「ディレクトリの有無を確認して、無い場合はディレクトリを作る」という処理を作る必要がでてきました。 そこで File System Node.js v4.1.0 Manual & Documentation を見て、ディレクトリの有無を確認するのに使えそうな fs.exists() という API を見つけたのですが、「Deprecated: Use fs.stat or fs.access instead.」ということで、他の API を使うように書かれていました。 「ファイルの有無を確認する API が deprecated になるのはなぜ?」と思い、これは何かあると思って少し調べてみたのでまとめておこうと思い

    fs.exists()がdeprecatedになった理由
    atsushifx
    atsushifx 2015/09/20
    確認して実行より投機的実行のほうがシンプルで面倒がなくなるという話。本気で並列並行プログラミングをするとロックやセマフォアで悩むことになるし、エラー処理込みで試みるというのが正しい考え方
  • コードを削除したら喜ぶべき。知らない人がみたら意味不明なコードが残っていませんか?

    昔はよくわかっていなくて、今は身にしみてよくわかっていることの一つは、追加した行数がマイナスのパッチは素晴らしいということだ。コードは削除できるなら消したいし、自分の書いたコードであれ、誰かが消してくれたらとてもよいことだと思う。 昔はがんばって書いたコードはなるべく「活用」したいと思っていた。活用というのはつまり、捨てるのはなんとなくもったいないから、そのコードをなるべく消さずにすませたいということだ。 しかし無理にコードを生かしておくことの意味など何もない。 コードの履歴などは全部いったん置いておいて、ある時点のソースコードを初めて見たものとしよう。そのソースコードが、そのプログラムが実装するべき機能を実装するために十分かつ最小限のコードであるのと、十分かつ最小限のコードに加えて何かよくわからないコードのどちらかであるとしたら、どちらのほうがいいコードだと思うだろうか? 前者のほうがい

    atsushifx
    atsushifx 2015/01/23
    コメント非表示なのは残念。ここはTwitterに期待して、実例はCプログラミング診断室 http://www.pro.or.jp/~fuji/mybooks/cdiag/ に載っている
  • 思考実験によるより良いコーディングへのヒント | POSTD

    簡単な思考実験をさせてください。コードをASCIIとしてディスクに保存する必要がないとしましょう。僕たちがシンボルを使うコードの書き方を変えられたら? そして何よりもその”読み方”を変えられたら? 想像できるすべてを読めて、編集できて、書ける魔法のコード・エディタがあるとしましょう。さらに、同じように機能する魔法のコンパイラがあるとしましょう。理想のコードはどのようになるでしょうか? まず区切り文字から自由になれるでしょう。どうしてそんなものがあるのか? コンパイラが十分賢くないから。 引用符のような区切り文字はコンパイラにシンボルが終わるときとリテラルが始まるときを知らせるためにあります。なぜ変数が数字で始められないかも同様です。コンパイラは変数名なのか数値リテラルなのか知りようがありません。もし代わりにタイポグラフィを使ってそれらを区別できるとしたらどうなるでしょうか。 例をあげましょ

    思考実験によるより良いコーディングへのヒント | POSTD
    atsushifx
    atsushifx 2014/11/05
    エディタやIDEでコードのSyntax Highliteが普及しているのだから、それを前提にしたプログラミングがあってもいいという話。
  • プログラマー向け最強フォント「M+」 | ソフトアンテナ

    プログラミングに最適なフォントは何でしょうか。海外のブログ記事「The Best Font for Programming: M+」にて、プログラマー向けのベストフォントとして「M+」フォントが推奨されていました(Reddit)。 ブログによるとRetinaディスプレイのような高詳細ディスプレイで使うのに具合がよく(低解像度ではTerminusフォントが推薦されています)、0(ゼロ)とO(大文字のO)のような紛らわしい文字がはっきり区別できる点がお気に入りポイントの様子。 ↑このように。 実は、M+フォントは日人が開発している日語対応のフリーフォントです。海外発のフォントの場合アルファベットの見栄えはよくても日語と合わせるとどうも…といったことが起こりがちですが、M+フォントだとそのような心配は不要だと思います。日人開発者なら使わない手はないかもしれません。 M+フォントは、個人利

    プログラマー向け最強フォント「M+」 | ソフトアンテナ
    atsushifx
    atsushifx 2014/07/10
    日本語フォントならVLゴシックが英数字がM+なので読みやすい
  • 書いたコードが一発で動作するとなぜ不安なのか : akiyan.com

    書いたコードが一発で動作するとなぜ不安なのか 2013-04-21 プログラミングにおいて少なくないコードを一気に書き上げたとき、そのコードが一発で動作 or テストケースに通るとなんともいえない不安を覚えるのは、プログラマーなら誰でもあるあるネタだと思う。「当にこれ、一発で動作しちゃっていいの? 俺、そこまでミスしないプログラマーだっけ?」なんて自分を疑ったりする。 このあいだもそんなことがあったんだけど、ふと気になった。不安になる理由は、自信のなさからくるものだけだろうか? ちなみに、書いたコードが正しく動作しないとき、コードを修正すると不安になることはない。一体、なぜ? 一発で動作したブラウザの画面を見ながら、考えてみて、閃いた。「コードの修正は、書いたコードを見直す機会にもなっているから」じゃないだろうか。コードの見直しは「リファクタリング」といっていもいい。 一発で動作してしま

    書いたコードが一発で動作するとなぜ不安なのか : akiyan.com
    atsushifx
    atsushifx 2013/04/21
    頭の中でそこまで具体的に考えてないはずというのが自分の答え。こういったアウトプットに関するものはデザイナーとかの意見も聞きたい
  • http://1yg.net/archives/554

    atsushifx
    atsushifx 2010/12/11
    どこかで読んだなと思ったら、http://fragments.g.hatena.ne.jp/fukken/20081203/1228329796 だった。
  • とにかくシンプルなプログラミングエディタ·CodeAssistor MOONGIFT

    CodeAssistorはWindows/Mac OSX用のオープンソース・ソフトウェア。開発用のテキストエディタには何を使っているだろうか。筆者はかれこれ8年以上Emacs(またはその系統)しか使っていない。手に馴染むと他に切り替えることは考えられなくなる。 シンプルなプログラマー向けエディタ VimEmacsといったエディタは優秀ながらキーバインドが特殊で取っつきが悪いイメージがある。やはり標準的なキーバインドがのぞめる方が良いという人も多いだろう。そこでお勧めしたいのがCodeAssistorだ。 CodeAssistorの特徴はとにかく軽量であること。機能も限られており、テキストの編集以外にこれといった機能がない。ただしプログラマー向けなので、各種プログラミング言語に対応したハイライト処理はある。後は関数やクラスなどでコードを折りたたんで表示する機能もある。 コードの折りたたみ機

  • プログラムの可読性に関する検討 - Cube Lilac

    目次 はじめに(※この記事) 名前 式と文 一貫性と慣用句 関数マクロ マジックナンバー コメント 長さ(行数,1行の文字数) はじめに http://d.hatena.ne.jp/honjo2/20100518/1274178222 を読んでプログラムの「可読性」について考えていたら長くなりそうだったので,イントロ的な記事をまず書いておきます.詳細は,まとまったらと言う事で. 指標の必要性 「可読性」は主観に依存する部分も大きいため,注意深く検討していく必要があります.特に,「可読性が低い」と言う言葉は単に「俺が読めないコードはクソだ!」の言い換えでしかない場合も多いので,そうならないように注意する必要があります. 「可読性」は,単語の指す範囲が広く,また曖昧であるという問題があります.例えば,http://d.hatena.ne.jp/honjo2/20100518/127417822

    プログラムの可読性に関する検討 - Cube Lilac
  • 1