Skip to content

Commit

Permalink
💯コメントの書き方を変更しましたわ!
Browse files Browse the repository at this point in the history
  • Loading branch information
jiro4989 committed Jul 7, 2022
1 parent bce5a61 commit a7bb626
Showing 1 changed file with 37 additions and 35 deletions.
72 changes: 37 additions & 35 deletions ojosama.go
Original file line number Diff line number Diff line change
@@ -1,38 +1,40 @@
// ojosama はお嬢様言葉への変換ロジックを管理する。
//
//
//
// 関数や構造体のアクセス範囲に関する方針
//
// 基本的にライブラリ用途としては Convert 関数1つのみを公開する。
// Convert関数の挙動の微調整はConvertOption構造体で制御する。
//
// ユーザ側で独自に変換ルールを追加出来たほうが良いかもしれないが、
// パッケージ構成や型名を変更する可能性が高いため、
// 破壊的変更として影響しないように公開する機能を必要最小限にする。
//
// 「ライブラリ呼び出し側で独自に変換ルールを追加したい」という人は
// おそらく現れないと想定しているが、要望がきた時に改めて考える。
//
// それまでは好き勝手パッケージ構成や名前を変更しまくれるように
// 公開範囲を極小にする。
// ゆえにConvert関数内の処理で関数を分割したくなった場合、
// すべてプライベート関数として実装する。
//
// 内部実装の都合でパッケージ等が必要になった場合は、
// すべて internal パッケージ配下にパッケージを切って配置する。
//
//
//
// 変換ルールの実装方針
//
// 変換ルールは internal/converter で定義する。
// 変換ロジックと変換ルールが密結合してるので
// 同じパッケージの方が自然にも感じるけれど分離している。
//
// 理由は、変換ルールの生成にしか使わないプライベート関数や、
// 変換条件の判定関数と、その内部実装用のプライベート関数などが増えてきたため、
// それらのプライベート関数に変換ロジック関数からアクセスさせないためにパッケージを分けている。
/*
ojosama はお嬢様言葉への変換ロジックを管理する。
関数や構造体のアクセス範囲に関する方針
基本的にライブラリ用途としては Convert 関数1つのみを公開する。
Convert関数の挙動の微調整はConvertOption構造体で制御する。
ユーザ側で独自に変換ルールを追加出来たほうが良いかもしれないが、
パッケージ構成や型名を変更する可能性が高いため、
破壊的変更として影響しないように公開する機能を必要最小限にする。
「ライブラリ呼び出し側で独自に変換ルールを追加したい」という人は
おそらく現れないと想定しているが、要望がきた時に改めて考える。
それまでは好き勝手パッケージ構成や名前を変更しまくれるように
公開範囲を極小にする。
ゆえにConvert関数内の処理で関数を分割したくなった場合、
すべてプライベート関数として実装する。
内部実装の都合でパッケージ等が必要になった場合は、
すべて internal パッケージ配下にパッケージを切って配置する。
変換ルールの実装方針
変換ルールは internal/converter で定義する。
変換ロジックと変換ルールが密結合してるので
同じパッケージの方が自然にも感じるけれど分離している。
理由は、変換ルールの生成にしか使わないプライベート関数や、
変換条件の判定関数と、その内部実装用のプライベート関数などが増えてきたため、
それらのプライベート関数に変換ロジック関数からアクセスさせないためにパッケージを分けている。
*/
package ojosama

import (
Expand Down

0 comments on commit a7bb626

Please sign in to comment.