[ItemList]一般的な命名規則について | Unity Forum | Tech Stadium Forum

[ItemList]一般的な命名規則に...
 
通知
すべてクリア

[ItemList]一般的な命名規則について  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
17/03/2021 5:14 pm  
アイテムの価格を全角数字で表現したかったので、
public string HanToZenNum(string han)
{
return Regex.Replace(han,"[0-9]",p =>((char)(p.Value[0] - '0' + '0' )).ToString());
}
という関数をネットから拾ってきて、使用しています。
この関数のように、プロジェクト全体を通して(今回はUIに関係する部分だけですが)
どこでも使える便利な汎用ツール(?)として使いたい場合、
どこかに public staticな関数として格納しておく必要があると思うのですが、
 
実際の現場ではこのような“自分で作った便利汎用ツール類“はどのように管理するのが一般的なのでしょうか?
 
・一般的にそのクラスに付ける(付けがちな)名前などあるのでしょうか?
(他の人がこの人が使ってるツールここか!とすぐわかるような名前?)
・わかりやすいように何かゲームオブジェクトを作って、そこにアタッチしておく方が良いのでしょうか
その場合どのような名前のゲームオブジェクトとしておけば良いのでしょうか?
・そもそも public staticにして“クラス.関数()“で呼び出す方法で良いのでしょうか?
↑上記の他にも注意点やコツなどありましたら、ぜひご指導いただけますようよろしくお願いします!

引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1318
17/03/2021 5:17 pm  
自分で作った便利汎用ツール類をまとめるのであれば、namespaceを活用してみてはいかがでしょうか?
https://ufcpp.net/study/csharp/sp_namespace.html

一般的にそのクラスに付ける(付けがちな)名前などあるのでしょうか?

特に名前は決まっていませんが、一目でわかるような名前にしましょう。
それこそ、namespaceを使えばクラス名が他と被っても問題がないので、汎用的な名前にするといいです。

わかりやすいように何かゲームオブジェクトを作って、そこにアタッチしておく方が良いのでしょうか

静的メソッドとして宣言するのなら、ゲームオブジェクトにアタッチする必要はありません。
静的メソッドではなく、それでも他のスクリプトから呼び出したいと言うときは適当なゲームオブジェクトを作ってそこにアタッチしましょう。
Hierarchyに表示されるのが邪魔でしたら、hideFlagsの値をHideInHierarchyに変えると表示されなくなります。
https://docs.unity3d.com/ja/2018.4/ScriptReference/HideFlags.html

そもそも public staticにして“クラス.関数()“で呼び出す方法で良いのでしょうか?

この方法は実際の現場でもかなり多用されます。
 
注意点として、一つのクラスにとりあえずいっぱい静的メソッドを作るのだけは控えましょう。
例として、Utilityクラスを作ってそこに文字列を変換するメソッドや座標を移動させるメソッドまでまとめると、
どこにどのメソッドがあるかわからなくなってしまいます。
文字列を変換するメソッドを持つクラスは「StringUtility」という名前にしたり、座標関係であれば「Point」クラスにするなど、細かく分けるのが大切です。
namespaceや静的メソッドをまとめるクラスは、パソコン内のフォルダを小分けにするように、綺麗に整頓することが大切です。

返信引用
共有:
タイトルとURLをコピーしました