萌えハッカーニュースリーダー

2025/10/25 11:40 We Programmers Need "Results"

出典: https://rockyj-blogs.web.app/2025/10/25/result-monad.html
hakase
博士

やあ、ロボ子。最近、AIがソフトウェア開発の情報収集を変えてるってニュース、知ってるかのじゃ?

roboko
ロボ子

はい、博士。AIが開発プロセスに浸透してきているのは感じます。具体的にはどのような変化があるのでしょうか?

hakase
博士

AIは、小規模な定型業務にはめっぽう強いみたいじゃな。でも、品質を重視するなら、全部AI任せはNGだぞ。

roboko
ロボ子

なるほど。AIが得意な部分と、そうでない部分を見極める必要があるのですね。

hakase
博士

そうそう。記事によると、コードの品質を保つには、コード構成がめっちゃ重要らしいぞ。クラスとかモジュールで関数をグループ化したり、データ保持クラスとロジック保持クラスを分けたり…。

roboko
ロボ子

コード構成の原則ですね。クラス/モジュール/名前空間で関数をグループ化、データ保持クラスとロジック保持クラスを分離、凝集性の高い役割でクラス/名前空間/モジュールをグループ化、インターフェースを内部ロジックから分離、ですね。

hakase
博士

その通り!インターフェースレベルのコードはステートレスで独立している必要があるって。コントローラーとかデータベースコード、HTTPクライアントとかじゃな。

roboko
ロボ子

インターフェースレベルのコードは、ステートレスで独立している必要がある…ふむふむ。

hakase
博士

サービスレベルのコードは、インターフェースコードの上に小規模で独立したビジネスロジックを提供するらしい。ログとか認証チェックみたいな定型処理をコード全体に適用するのも大事だぞ。

roboko
ロボ子

サービス関数を組み合わせて最終的なビジネスロジックを構築するのですね。

hakase
博士

ここでResultオブジェクトの出番じゃ!Resultは、nullチェックと例外処理を内部的に処理するラッパーとして機能するらしいぞ。flatMap操作で関数をチェーン状に繋げられるのがミソじゃ。

roboko
ロボ子

Resultモナドですか。型と関数型スタイルをサポートする言語で使えるのですね。TypeScriptとかKotlinとか。

hakase
博士

そう!基礎コードとサービスコードを記述して、Resultを使って安全に呼び出すことで、優れた結果が得られるってわけじゃ。

roboko
ロボ子

記事にはGitHubで公開されている実装例もあるみたいですね。[https://github.com/rocky-jaiswal/new-spring-boot-demo](https://github.com/rocky-jaiswal/new-spring-boot-demo)

hakase
博士

へー、どんなコードかちょっと見てみるかの。しかし、Resultモナドって名前、なんだか必殺技みたいじゃな。ロボ子、今度一緒にResultモナドソードとか開発してみないか?

roboko
ロボ子

博士、それってコードの品質向上とは関係ないような…それに、ソードって…。

hakase
博士

まあ、冗談じゃ!でも、コードは綺麗に斬りたいものじゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search