2025-11-14に開催されたYAPC::Fukuoka 2025での登壇資料です

はじめに ソフトウェア開発において、リファクタリング、つまりコードの保守性を高める活動は、ソフトウェアの価値を高める上でとても大切ですよね。 しかし、「リファクタリングの時間が確保できない」「リファクタリング実施のための同意が得られない」という話を耳にすることがあります。 リファクタリングは「絶対やった方がいいのは感覚としてはわかっている、でもその必要性ををうまく伝えられない」となりがちな性質があるのです。 この記事では、リファクタリングの時間を確保するために、どんなことを考え、何をステークホルダーに伝え、具体的にどのようなタイミングで実施していくといいのか、について解説します。 ポイントまとめ リファクタリング時間確保のポイントを端的に説明すると、以下の通りになります。 リターンとコストを明らかにする 複数の実施パターンを選択肢として持ち、柔軟に選べるようにする。 その中でも、日頃の小さ

The genies are out of the bottle. Let’s take as a given that augmented coding is steadily reducing the cost, skill barriers, and time needed to develop software. (Interesting debate to be had—another day.) Will this lead to fewer programmers or more programmers? Economics gives us two contradictory answerssimultaneously. Substitution. The substitution effect says we'll need fewer programmers—mach

書籍『良いコードの道しるべ 変化に強いソフトウェアを作る原則と実践』に書ききれなかった内容を書き記すシリーズ第2弾として、オブジェクト指向プログラミングにおけるクラスの継承の置き換えについて紹介します。 すでに多くの記事でも言及されている通り、クラスの継承はしばしば保守性に関する重大な問題をもたらします。 私自身、継承によって複雑になったコードに幾度となく悩まされてきました。 このブログ記事では、継承ではなく具体的にどのようなコードを書くべきかについて紹介します。 用語の整理 ここでやめるべきと述べている継承とは、インターフェースの実装は含みません。 何らかの実装を持つ抽象クラスに対する継承を避けることを提案しています。Kotlinで言えばabstractクラス及びopenクラス、Javaで言えばabstractクラス及びfinalでない通常クラスに対する継承を指します。 継承の問題点

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 表明しておかないと、自分が最新技術を毛嫌いしてるだけの人と思われるかもと思ったので、いったん自分の考えを吐き出しておく。 自分は、情報を評価・抽出する系の作業 (文章を要約するとか、コードをレビューするとか) をAI にやらせるのはあまり抵抗感がなくて、趣味開発でも Copilot や CodeRabbit によるコードレビューのお世話になっている。 一方で、情報を押し広げる系の作業をAI にやらせると成果物の正確性や保守性に対する信頼性が全然足りない。「適当に書き殴らせてうまくいかなかったら全部捨てればいい」「コードの良し悪しは気

俺(レビュアー)「ここはMath.minを使えば1行で書けるのでそうしてください」 レビュイー「AIがこのように生成しました」 俺「(だから何だよ…と思いつつ)盲目的にAIに従うのではなく、それを受け入れた以上コードの責任はあなたが持ってください」 レビュイー「しかしこの先コードを読むのもAIになってきている以上、AIが生成するコードはAIにとって読みやすい良いコードなんじゃないでしょうか?そもそもですが前から増田先輩は小さいことにこだわってapproveを遅らせすぎです。さっさとリリースしたほうが顧客価値に繋がるのでは?」 30分ぐらい悩んだが反論できず「確かにそういう考えもありますね」って言ってapproveした。 どうするのがよかった?


For years, I’ve felt that writinglines of code was never the bottleneck in software engineering. The actual bottlenecks were, and still are, code reviews, knowledge transfer through mentoring and pairing, testing, debugging, and the human overhead of coordination and communication. All of this wrapped inside the labyrinth of tickets, planning meetings, and agile rituals. These processes, meant to

AIで日本語で指示をあたえればプログラムを作ってくれるようになって、プログラミング知識がなくても誰でもプログラムが組めるとか、プログラマが不要になるとかいう話が盛り上がってますね。 けど、実際にプログラマをやって、AIコーディングエージェントを使っていれば、プログラミング知識がなくても可能な領域というのはそんなに広くないことを感じていると思います。 たとえば、ほぼプロンプト一発で作ってもらった刺身タンポポゲームがあります。 このプロンプトはこんな感じです。 刺身にタンポポを乗せるゲームをJavaのSwingで作って。 刺身かネコが0.75秒ごとに表示されます。 刺身は、白い皿に、赤い板状の切り身が3枚のっています。 ネコは顔だけ表示されます。かわいくおねがいします。 表示のシーケンスは次のようになります。 共通の影が右から中央に0.1秒で移動します。 刺身かネコが0.5秒表示されて、0.1

はじめに 七尾百合子さん、お誕生日 90日目 おめでとうございます! nikkieです。Twitterを見ていると、みんなClaude Codeに行ってしまったようです。 Claude CodeはClaude 3.7 Sonnetで少し使いましたが、ここ最近の世間の反応ほどいいものなのか、確信を持てずにいました。 そこで1次情報の「Mastering Claude Code in 30 minutes」を視聴しました。 エッホエッホ みんなに見てって伝えなきゃ 目次 はじめに 目次 Anthropicが開発者向けカンファレンス「Code with Claude」を開催 まとめ Mastering Claude Code in 30 minutes 冒頭:インストール setup (3:00) Codebase Q&A Editing Code ここまでの感想 Anthropicが開発者向
こんちには。 データ事業本部機械学習チームの中村(nokomoro3)です。 今回はClaude Codeを徹底解説したいと思います。本記事について 私は元々はCursorを使っており、Claude Codeは必要なのか半信半疑だったのですが、試してみた感じエージェントの挙動はかなり期待通りな印象です。実際にCursorではコード補完やCmd + Kをメインに、エージェント的な動きはClaude Codeやるように最近使い分けを始めています。 使用感は主観に寄るところも大きいので文面でお伝えするのは難しいですが、Claude Codeのことを少しでも知ってもらい多くの人に使ってもらるよう、一通りの使い方を記事にしました。 以下の内容で記載しており、盛りだくさんとなっております。 Claude Codeの基本的なセットアップ方法から解説 基礎的な使い方から応用(Permission、Gi
Someguidelines I have collected over the years from a number of different projects. Authoring PullRequests#1. Keepem smallIt is an art form to keep PullRequests (PRs) small.It’s verytempting to rewrite, refactor, boy scout and reformat the code as you develop but in general, the best developers resist thetemptation to change everything at once. They stay on target and get the job done with

Stream the Latest EpisodeListen and watch now on YouTube, Spotify andApple. See the episode transcript at thetop of this page, and timestamps for the episode at the bottom. Brought to You By• Sonar — Code quality and codesecurity for ALL code. • Statsig — The unified platform for flags, analytics, experiments, and more. • Augment Code —AI coding assistant that pro engineering teams love —

GooglePython StyleGuide Table of Contents 1 Background 2Python Language Rules 2.1Lint 2.2 Imports 2.3 Packages 2.4 Exceptions 2.5 Mutable Global State 2.6 Nested/Local/Inner Classes and Functions 2.7 Comprehensions & Generator Expressions 2.8 DefaultIterators and Operators 2.9 Generators 2.10Lambda Functions 2.11 Conditional Expressions 2.12 Default Argument Values 2.13 Properties 2.14 True/
ohbarye.hatenablog.jp オライリー本家から『Vibe Coding: The Future ofProgramming』という本が今年出るという話を聞いたときは、「バイブコーディング」というバズワードを中心に据えた本を手がけるあたり、相変わらずフットワーク軽いなーと感心したものである。 しかし、Early Release 版を読んだ人の感想を見ると、タイトルとは裏腹に「バイブコーディング」の話は少なくて、副題の「プログラミングの未来」のほうに重点があるらしく、それもそうだなと思ったものである。 ……と思っていたら、本のタイトルが Beyond Vibe Coding に変わっていた。やはり、「バイブコーディング」はもはや中心ではなくなり、その先、それを超えたところに「プログラミングの未来」があるということだろう。 Beyond Vibe Coding: Leverag

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く