Your SlideShare is downloading. ×
開発者は仕事でリーダブルなコードを書けるのか?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

開発者は仕事でリーダブルなコードを書けるのか?

614
views

Published on

ビジネスアプリケーションにおいても高速/堅牢な、保守性の高いプログラミングが求められています。 …

ビジネスアプリケーションにおいても高速/堅牢な、保守性の高いプログラミングが求められています。

去年は「リーダブルなコード」に注目が集まりましたが、具体的に開発者へどんなメリットをもたらすのでしょうか?また、「リーダブルなコード」のコンセプトや手法は現場へ導入可能なのでしょうか?

本セッションでは、リーダブルなコードの概要を紹介した上で開発者にとってのメリットと現場導入について考察します。


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
614
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 開発者は仕事で リーダブルなコードを 書けるのか? 須藤功平 株式会社クリアコード Developer Migration 2013 2013/03/02開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 2. 対象 開発者開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 3. リーダブルな コード?
  • 4. 例1: リーダブル? class Person def initialize @mutex = Mutex.new end def name=(name) @mutex.synchronize do @name = name end end end開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 5. 例2: リーダブル? class Person def initialize @mutex = Mutex.new end def name=(name) synchronize do @name = name end end def synchronize @mutex.synchronize do yield end end end開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 6. 参考 Ruby コードの感想戦 ✓ http://jp.rubyist.net/magazine/?0040-CodePostMortem ✓ http://jp.rubyist.net/magazine/?0041-CodePostMortem開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 7. ヒント ✓ コードはコンピューターが 実行するだけではない ✓ 読む人がいる ✓ コードは書いた人の意図を語る開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 8. リーダブルなコード ✓ わかりやすい(書いた人の意図が) ✓ 直しやすい ✓ 調べやすい ✓ 試しやすい開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 9. で?
  • 10. リーダブルな コードってうれしいの?
  • 11. 開発者として ストレスが減る (1)開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 12. ストレス なにしてるか 全然わからない んだけど!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 13. ストレス なにしたいか 全然わからない んだけど!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 14. 開発者として 楽しい (2)開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 15. 楽しい すぐに 対応できる開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 16. すぐに対応 ✓ こういうのが欲しいんだけど ✓ あ、ちょっと待ってください。 ✓ こんな感じですか? ✓ →そう!こういうの! ✓ →あぁ、こうなるのかぁ。 じゃあ、なしで!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 17. すぐに対応 オレってば スゲー感 http://kitaj.no-ip.com/tdiary/20040404.html#p05開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 18. オレってばスゲー感を ✓ 他の人のコードで、じゃなく ✓ 自分たちのコードで!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 19. 作らないのがいい? ✓ 本当に必要?検討しましょう! ✓ 必要?本当に?本当に? ✓ 考えている間に試したら? ✓ コードを書かない事が目指す事? ✓ 必要ないものに時間をかけない事 じゃない?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 20. コストが下がれば試せる
  • 21. コストが下がる ✓ 実サーバー → 仮想マシン ✓ すぐに追加できる ✓ すぐに削除できる開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 22. 試せる ✓ 実サーバー → 仮想マシン ✓ どのくらいあらかじめ用意する? → ✓ いつどうやって増減させる?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 23. コードだって同じ
  • 24. リーダブルなコードなら 素早く 対応できる開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 25. 素早い対応 うわぁ! こんなに素早く対応して もらえるなんて! ありがとう!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 26. 素早くない対応 ✓ このくらいで終わりそう ✓ でも、なんかあったらイヤだなぁ ✓ バッファで2倍かかることにしよう ✓ 困ったらすぐ相談じゃダメ? ✓ 全体でよくなるように進めないの?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 27. 信用 いつも素早く対応してくれる 人が時間がかかるっていうんだ から大変なんだろう。開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 28. チームとして 誰でも直せる開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 29. 誰でも直せる ✓ あるべき設計を維持できる ✓ ×担当じゃないからわからない… ✓ ×自分のところでなんとかするか… ✓ 助け合える開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 30. 誰でも直せる? ✓ 直せても直しちゃダメ? ✓ エンバグしたら責任が… ✓ できる人にだけ負荷がかかる? ✓ できる人ほどツライ… ✓ できない人の方が得?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 31. 開発者は 仕事でリーダブルな コードを書けるのか?
  • 32. ムリ?
  • 33. コードレビュー リーダブルなコードにするた めにコードレビューっていうの を導入したいけど他の人が読ん でくれないからできない。開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 34. 答え まず、 あなたが読んでみませんか?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 35. 時間がない 自分は他の人のコードを読ん でいる時間ないし…開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 36. 答え 時間を決めて読んでみません か? ペースがわかったらどうやって 取り組んでいけばよいかアイデ ィアが浮かぶと思いますよ。開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 37. でも でも、でも、でも…開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 38. コミットへの コメントサービス クリアコードは、よいコード を書くことを当たり前にするた めには、まず「みんながみんな のコードを読む」文化にするこ とからはじめるのがよいと考え ます。 http://www.clear-code.com/services/commit-comment.html開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 39. B2DBusiness to Developer
  • 40. なんで読むの? ✓ 読まないと 読みやすいコードは書けない ✓ 読む人を想像しろなんてムリ ✓ 自分が読む人になる開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 41. あなたが読む事を支援 ✓ どうやって読むの? ✓ よいところを学ぶ ✓ 悪いところ探しではない! ✓ どういうタイミングで? ✓ pushとかcommitした後 ✓ 一区切り付いているでしょ?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 42. みんなが読む事を支援 ✓ こうすると読みやすいですよ ✓ 読みにくいコードばかりだと 続けられない ✓ よいコードを見た!→ 真似してコミット ✓ いいね!しているだけじゃない ✓ 行動しているからより本物開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 43. コミットコミュニケーション ✓ 他の人が何をしているかわかる ✓ あの人はあそこらへん詳しそう ✓ 相談してみよう ✓ 他の人が困っていないかわかる ✓ この1時間ひとつもコミットしていな いけど大丈夫? ✓ このコミットすごいごちゃごちゃし てるけど悩んでる?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 44. 毎日↓をコミット ✓ 今日どれくらい読めたか ✓ 感覚で。70%とか。 ✓ 今日印象に残ったコミット ✓ メモリリーク直った! ✓ 今日の一言感想 ✓ 自分のコミットが真似されていた!開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 45. さいごに ✓ リーダブルなコードが大事そう な気がしましたか? ✓ 仕事でリーダブルなコードを書 けそうですか? ✓ 支援があれば書けそうですか?開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 46. いや、でも… 自分の会社は横のつながりを 推奨していないので…開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7
  • 47. 答え オープンソースソフトウェア の開発に参加してみませんか? そこで体験してよかったら自分 の言葉で説明できるはず。開発者は仕事でリーダブルなコードを書けるのか? Powered by Rabbit 2.0.7