qulacs / scaluq

MIT License
5 stars 0 forks source link

getter/setterの命名 #145

Closed KowerKoint closed 2 months ago

KowerKoint commented 3 months ago

PauliOperator::get_coefinternal::XGateImpl::targetなど、getterにはメンバの名前にget_がついているものとついていないものがある。 また、StateVector::amplitudesのようにgetterに見えて実際はタダのメンバ取得ではなく大きなコピーがかかっているものもある。 これらをわかりやすくなるために、以下の命名規則を採用する。

gandalfr-KY commented 2 months ago

get_target_qubit_list、get_target_qubit_maskに関してはどうするべきか要検討(これは統一して両方getでもいいかも?)

これはまさに「メンバに直接アクセスする場合、または実際にはmaskなど他の持ち方をしているがそこからの変換コストが低くメンバとして直接持っているかのように振る舞いたい場合」ではないですか?これに照らせばgetを付けない名前がよいのではないでしょうか。

gandalfr-KY commented 2 months ago

https://github.com/qulacs/scaluq/pull/161

KowerKoint commented 2 months ago

これに照らせばgetを付けない名前がよいのではないでしょうか。

ゲートによっては(Probablisticとか)取得が難しいというイメージだったけど、 だいたい一瞬だしProbablisticも今例外で今後コンストラクタでマスク作るくらいでいい気もするのでgetつけなくていいかも