ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Closed 11 years ago

#3432 closed enhancement (fixed)

MemberProfile, MemberProfileForm のリファクタリング

Reported by: ebihara Owned by: ebihara
Priority: minor Milestone: OpenPNE3.0beta3
Component: core Version: 3.0.x
Keywords: Cc:

Description

MemberProfile?, MemberProfileForm? のリファクタリングをおこなう。

重複したコードや、複雑すぎるロジックが隠蔽されていない、メソッドの役割が多すぎて可搬性および拡張性に乏しい、そのクラスがおこなう処理として適切でないものが混じっているなど、数多くの欠陥が見られるため、安定性を維持するにあたり大きな障壁となりうる。そのため、これを改善する。

Attachments (1)

3432.diff (5.5 KB) - added by ebihara 11 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

comment:2 Changed 11 years ago by ebihara

r10081 にて、 ProfileOption? の値を取得するためのコードが重複していたのを修正しました。

date に関する処理が若干強引ではありますが現段階では許容範囲とし、これはこのままとします(もっともこれ以上ロジックが複雑になる余地があるようなら手を入れざるを得ません)。

comment:3 Changed 11 years ago by ogawa

Component: 指定しないcore

comment:4 Changed 11 years ago by ebihara

Version: 3.0.x

r10083, r10084, r10086, r10087, 10089 で、MembeProfileForm::save() で必要以上の役割を担わないように修正をおこないました。

ただし、 MemberProfileForm? または MemberProfilePeer? でおこなっている(もしくは、おこなうようにした)親子関係を構築するためのメソッドについて MemberProfile? に移譲することを試みましたが、単一選択のフォームのみの対応となってしました。

これは、複数選択のフォームに対して同様の対応を施した場合、 fixture によるデータロードが正常におこなえなくなる可能性があるなどの問題が考えられたためです。

とはいえ本件の目的は果たしたと考え、このチケットはこれで完了します。

※今後この問題について継続して対応される方のために、途中まで対応した複数選択のフォームについてのリファクタリング中の差分を添付しておきます。

Changed 11 years ago by ebihara

Attachment: 3432.diff added

comment:5 Changed 11 years ago by ebihara

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.