タグ

code_readingに関するxai1981のブックマーク (23)

  • ctagsを使ってVimでCode Readingを加速する | Webシステム開発/教育ソリューションのタイムインターメディア

    コードを書いて何か具体的なものを作ることが、僕たちプログラマの仕事でありアイデンティティですが、 ただ、一日中コードを書き続けているわけではありません。 優れたコードを書くスキルを習得するためには、いろんな人たちが書いたコードを大量に読むことが欠かせません。 この、コードを読む(Code Reading)ことはなかなか奥が深く、読みこなすには骨が折れるものです。 なぜならその背景をコードから読み解く知識(データ構造、アルゴリズムやアーキテクチャ)や経験が要求されるからです。 しかし、Code Readingは何よりも楽しいものです。読み進めていると斬新なアイデアや綺麗に表現しているコードに出会ったときは興奮してしまいます。 では、コードはどうやって読むのでしょうか? 印刷して紙で読む? Webブラウザでsyntax highlightされたコードを読む? いいえ。エディタです。 使い慣れた

    ctagsを使ってVimでCode Readingを加速する | Webシステム開発/教育ソリューションのタイムインターメディア
  • Goでかんたんソースコードの静的解析

    Takuya UedaSouzoh, Inc. (affiliated by Mercari, Inc.) - Go Engineer

    Goでかんたんソースコードの静的解析
  • ソースコードを読むときの3つのステップ - 弥生開発者ブログ

    はじめに はじめまして。お盆明けからMisocaでインターンをしているhmryuです。Misocaにジョインする前は、個人でサービスを作ったり、研究でプログラムを書いたりしていました。 一方で、チームで開発する経験はあまりなく、Misocaにジョインした始めの頃は慣れないことばかりでした。中でも、他人の書いたソースコードを読んで理解することが、一番大変だったかもしれません。 そこで今回は、機能追加・変更を加えるためにソースコード*1を読む上で、僕が大切だと感じた3つのステップについて書きたいと思います。 1. 機能とソースコードの対応を調べる まず、自分が変更を加える機能がどんなもので、どこに実装されているのか理解する必要があります。実際にサービスを動かして、どんな機能なのかを確認します。その後、その機能がソースコードのどの部分に対応するのかを調べます。 例えば、メール送信について調べる場

    ソースコードを読むときの3つのステップ - 弥生開発者ブログ
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • プログラマの仕事内容解決ブック | コードリーディングが重要

    当サイトについて プログラマ暦、早16年。プログラマとして一生を終えるつもりでいたが、とある事をきっかけに、新人プログラマを育成する立場へ転向。プログラミングをこよなく愛する、いち親父プログラマとして、新人プログラマの方へ伝えたいことをつづっています。 エラーの原因探しに悪戦苦闘 フレームワークや、ライブラリを使っていると、自分が意図しない動作をすることがしばしばあります。フレームワーク側でエラーを出しているが、その意味がわからないというケース。そのエラーに対する対処をしているか、自分のコードをひたすらチェックすることになる。目を皿にして血走らせながら、画面を凝視し、エラーとコードをひたすらチェック。何が間違っているのかを必死になって探し、それでもわからなければ、インターネット上で同じフレームワークを使ったコードを探しまくる・・・。こんな経験は、プログラマであれば誰しもしているのではないで

  • 2016年4月5日 ソースコードリーディングとはどんなものなのかを知った!知ったぞぅ! - きょくちょ日記 -THERE'S ONLY MAKE!-

    3行まとめ ゼロ秒思考 読んでる 最初は「はいはいありきたりな内容な」と思いながら読んでたけど段々面白くなってきた このにでてくるダメな人の例がまさに自分すぎるので早く読み終えて Action に繋げたい Github の issue やコードについて、流し読みスキルを覚えていく機運 全体をサッと読んで全容を把握して詳しく読んだ方がいいものを選定して読むとか どこに着目すれば良いのかを把握したりとか 初めて知ったもの SSL と TLS の違い リンクタイプ方式, モジュール方式, 決済URL方式 PHP Docs boid EC決済コードでよく使う basket という意味 www.booklog.co.jp 感想 今日はいつもより自分主体のペアプロをさせていただきました。 そこでソースコードリーディングの内容が自分と一人前エンジニアさんとでは全く異なるということに気がつきました。 特

    2016年4月5日 ソースコードリーディングとはどんなものなのかを知った!知ったぞぅ! - きょくちょ日記 -THERE'S ONLY MAKE!-
  • Firefox OSのソースコードを読む – コードリーディングのすすめ

    7月27日(月)に『関東 Firefox OS 勉強会 12th』に参加してきました。内容としては、Firefox OSやアプリの開発ツールの最新情報、コードリーディングについてといった感じでした。Firefox OSはWeb標準技術で実装されていて、アプリはFirefoxがあれば開発が可能です。アプリ開発に必要な技術的な知識もコードリーディングをすることで学ぶことができます。そんなFirefox OSのコードリーディングのコツを学んできたので、まとめておきます。 Firefox OSの概要まず、Firefox OSの概要についてまとめておきます。 Firefox OSとはFirefox OSは、Mozillaが開発しているスマホ向けOSであり、Web標準技術によるオープンなプラットフォームです。アプリもWebサイトと同じように開発することができます。 Firefox OSのこれからFir

  • あなたの「コード読解力」はどれくらい? | スラド

    奈良先端科学技術大学院大学の森崎助教らによると、ソースコードの読解力は個人差が大きく、実験では同じソースコードを理解するための時間に6倍もの差があることが確認できているそうだ(「2,000行のJavaソースコードを読むのに何分かかりますか?」)。 といっても、自分の「ソースコード読解速度」が速いのかそれとも遅いのか、なかなか立ち位置を知るのは難しい。そこで森崎助教らは、研究の一環としてオンラインでのソースコード読解ハンズオンを公開した。これにより自分のソースコード読解能力が他人と比べてどの程度なのかをチェックできるとのこと。また、集計されたデータは個人情報を除去した上で公開されるほか、ソースコードの差分(パッチ)とその理解に必要な時間(コスト)との関係を明らかにする研究の題材にもなるそうだ。

  • コードリーディングにまつわるエトセトラ - Tbpgr Blog

    概要 コードリーディングにまつわるエトセトラ。 経緯 大量のレガシーコードを読むことになりそうなので、コードリーディングの知識を整理し、 自己の理解を深めるとともに、チームメンバーとの共有をすることになりました。 下準備 事情通の把握 該当コードに詳しい人物を把握しておく。 フレームワークの設計を理解する フレームワークを利用している場合は、フレームワークの概念を理解し、 自分が担当する箇所がどのような役割をしているのか理解する。 ドキュメント ドキュメントを読む ドキュメントを読むことで、内部構造を理解する。 ただし、ドキュメントの質が低かったり、ソースコードとの同期の度合いなどによっては信頼度が下がる。 プロジェクトの事情通がいれば、ドキュメントがどの程度信頼できるか確認の上で活用度合いを決める。 高レベルの設計を把握する 信頼できるドキュメントに、システムの高レベルの設計がまとめられ

    コードリーディングにまつわるエトセトラ - Tbpgr Blog
  • コードリーディングに最適!たった200行で作れるHTML5製テトリスのプログラミング学習ムービー - Chrome Life

    みなさんは、フルスクラッチでテトリスを作ることができますか? プログラマーといってもゲームを作る機会が少ないと、なかなかすぐには作れないと思います。 JavaScriptでなんとか作れそうな感じもしますが、すんなり実装はできない感じがします。 特にグラフィックやアニメーションをうまく使ったものを作るには、それなりの経験値が必要だと思います。 そこで、今回ご紹介するのが、教育目的で作られたHTML5製テトリスのプログラミング学習ムービーです。 HTML5 tetris - making of HTML5 tetris - making of 驚くべきことに、 たったの45分でテトリスが完成! それもフルスクラッチで、jQueryなどのライブラリーを一切使っていません。 Youtubeのムービーは早送りしていますが、動きを確認しながら実装しているのが分かります。 実際に、こちらでテトリスをプレ

  • コードリーディングを始めよう ― @IT

    優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) Ruby on RailsRails)には、scaffoldという大変便利な機能が付いています。scaffoldを使えば、アプリケーションの実行に必要なデータベースのスキーマの準備から、データベースにアクセスするコード、画面周りのコードまで、一通り自動生成してくれます。 そのおかげもあって、多くの開発者がscaffoldを使ったRailsのアプリケーションを試しに作ったことでしょう。ただし、scaffoldはあくまで土台であって、その後は、生成されたコードを拡張していく必要があります。 連載ではコードリーディングという形で、オープンソースとして公開されているRailsアプリケーションのソースコードを題材に使って、その動きや機能がどのように実装

    コードリーディングを始めよう ― @IT
  • 太一のコードの読み方メモ

    太一のコードの読み方メモ 全体として太一が感覚的に実践している事を論理的に説明しようと試みている為、 説明の粒度が適切でなかったり一貫性が無いように見える部分があるかもしれない。 普段やっているけども書ききれていない事も多分きっとある。 コードを読むとは何か コードを嗜む コードを学ぶ 武器を手に入れる これは武器を手に入れるコードリーディングの話 武器とは何か プロジェクトで戦う為の道具となる知識 プロジェクト内における技能を示す為の道具となる知識 プロジェクトのやり方を自ら決められる様になる為の道具となる知識 権限と責任がバランスよく割当てられた時モチベーションは最大化する 何と戦うのか プロジェクトリスク プロジェクトをより良い状態にする為の基礎的な根拠となるのがコードである コードが全てではないが適切に動作するコードが無ければプロジェクトは終わらない これはつまり理想を体現する為の

    太一のコードの読み方メモ
  • コードの読み方 (LT駆動開発01で発表しようとしたネタ) | 49.212.143.129

  • http://imagelogic.info/blog/individual/textastic/

    http://imagelogic.info/blog/individual/textastic/
  • GitベースのコードリーディングTips - クックパッド開発者ブログ

    こんにちは、投稿推進部の森川 (@morishin127) です。 エンジニアが既存のプロダクトの開発に携わる際、他人の書いたソースコードを読み解くところから始まります。過去に書かれたコードの意図を理解することは自分が書いたものでもしばしば難しく、他人が書いたものならなおさらです。この記事では過去に書かれたコードを理解するための工夫についてお話したいと思います。 なお、この記事ではプロダクトのソースコードはgitおよびGitHubのPull Requestを利用して開発が進められていることを前提としています。 特定の行から関連するPull Requestページを開く クックパッドのソースコードには概してコメントがあまり書かれておらず、見ただけでは理解しづらいような特殊な方法をとっている場合のみコメントを書いている印象です。基的に実装に関する説明はソースコード中ではなく、GitHubのPu

    GitベースのコードリーディングTips - クックパッド開発者ブログ
  • コードリーディングについて | ありえるえりあ

    コードリーディングについて アリエルネットワークCTO 井上誠一郎 自己紹介 書籍 「P2P教科書」 「パーフェクトJava」 「サーバサイドJavaScript入門」 「パーフェクトJavaScript」 今回の講義 心構えや経験談が中心 抽象論になりすぎないように実践可能な「トライ」ページ 次回講義の予告 3月1日の予定 「Webアプリのアーキテクチャの歴史と進化」 専門用語多め 反応を比較して今後の講義の参考にします コードリーディング(1) 現場で重要なスキル 既存コードベースがある場合、書くコード行数は驚くほど少ない 学習と実務でのギャップ サンプルコードは短い コードリーディング(2) 既存コードを理解できないと デバッグできない 新機能の追加ができない 既存コードと同じコードを書いてしまう(無知ゆえのコピーコード) => 更に読みづらくなる悪循環 理解できないコードは悪 多少

  • カーネルハッカー・小崎資広の「コードを読む技術」 | サイボウズ式

    サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第2回(毎週火曜日に掲載、これまでの連載一覧)。「WEB+DB PRESS Vol.80」(2014年4月24日発売)に執筆した「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 この連載では「エンジニアの学び方」をテーマにインタビューを行い、どういう「学び方」をしているのか探求していきたいと思っています。第1弾は、富士通エンジニアとしてLinuxカーネルの開発に参加されている小崎資広さんです。 Linuxカーネルは、ソースファイルだけで3万5000個以上、行数にして1500万行を超える、巨大ソフトウェアです。小崎さんが、どうやってこの巨大なソースコードと戦っているかは、きっと「エンジニアの学び方」の参考になるはずです。

    カーネルハッカー・小崎資広の「コードを読む技術」 | サイボウズ式
  • [mixi]プログラムの勉強として・・・ - ソースコード解析 | mixiコミュニティ

    ソースコードの解析はどの程度プログラムの勉強になるのでしょうか? プログラムの上達のためには、他人の書いたプログラムのソースコードを解析することが一番良い勉強法だということを聞いたことがあります。 しかしバグもなく動いていたとしても、あまりにもきたないソースコードを解析したのでは返って逆効果なのではと思ったりもします。 有名なオープンソースのプログラムを解析するのは確かに良い勉強になるのではと思いますが、なかなか規模が大きいものが多くどこからどのように手を付けたらよいものか、途方にくれてしまうという現実もあります。 そのようなときには、勉強会に参加してみるというようなことが一番良い解決法なのでしょうか? 当はそのあたりの書籍がもっとたくさん出版されるようになればありがたいと個人的には思うのですが・・・ 皆さんはどのようにお考えでしょうか? 他人の書いたソースコードを読むことは、ソースの汚

    [mixi]プログラムの勉強として・・・ - ソースコード解析 | mixiコミュニティ
  • GNU GLOBALとvimで巨大なコードでも快適にコードリーディング

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでも、多くの記事にされていて、恐らくKernelや巨大なコードを読んでいる人にとっては当たり前なのかもしれませんが、あまりに快適だったのとこれをきちんとやれてなかった事に自戒をこめて記事にしようと思います。grepとかscreenを駆使していた時間を返してほしい! 対象者 僕がLinux大好きなので、Linux上での動作を前提にしています。対象者はLinux KernelやApache HTTP Server等、数万から数十万、さらには数百万行のコードをじっくり読んでいきたいと考えている人におすすめしたいと思います。巨大なコードを何のツールも使わずに読むのはかなりきついはずです。しかし、今回はGNU GLOBALと呼ばれるソースコードタ

  • HOME | deactivate-domain

    You recently received an email asking you to confirm your contact details. Because you didn’t confirm within 15 days, your domain was deactivated. ​ Final reminder: we’re holding onto your domain for an additional 7 days. After that, you won’t be able to reactivate it. To keep this domain, reactivate it as soon as possible.

    HOME | deactivate-domain