中程オンライン-再構築-卓越したプログラマー修練の道(ノート3はコードを見て吐きたいまで)
11069 ワード
多くのプログラマーはなぜ再構築しなかったのでしょうか.彼らは毎日腐ったコードを見ているので(実はそれが腐っているコードだとは知らない)、それは大丈夫なコードだと思っています.
だから、まずしなければならないのは、見て、見て、見て、見ていると吐き気がします.
否定機能が完成したのがcode completeです.
肯定コードは理解しやすく、メンテナンス可能で、code completeです.
<敏捷設計原則-Robect C Martin>
第一の職責:モジュールが存在する理由で、実行された機能.
第二の職責:それを読む人とコミュニケーションをとるには、モジュールに詳しくない人は理解しやすいはずです.
第三の職責:ソフトウェアが変化するため、開発者はできるだけ簡単であることを保証します.
腐ったコード1
腐ったコード2
腐ったコード3
だから、まずしなければならないのは、見て、見て、見て、見ていると吐き気がします.
否定機能が完成したのがcode completeです.
肯定コードは理解しやすく、メンテナンス可能で、code completeです.
<敏捷設計原則-Robect C Martin>
第一の職責:モジュールが存在する理由で、実行された機能.
第二の職責:それを読む人とコミュニケーションをとるには、モジュールに詳しくない人は理解しやすいはずです.
第三の職責:ソフトウェアが変化するため、開発者はできるだけ簡単であることを保証します.
腐ったコード1
1
public
class
MedicalRecord
2
{
3
public
DateTime DateArchived {
get
;
private
set
; }
4
public
bool
Archived {
get
;
private
set
; }
5
6
public
void
ArchiveRecord()
7
{
8
Archived
=
true
;
9
DateArchived
=
DateTime.Now;
10
}
11
12
public
void
CloseRecord()
13
{
14
Archived
=
true
;
15
DateArchived
=
DateTime.Now;
16
}
17
}
腐ったコード2
1
public
class
RemoteControl
2
{
3
public
ArrayList Functions {
get
;
set
; }
4
public
string
Name {
get
;
set
; }
5
public
int
CreateYear {
get
;
set
; }
6
7
public
string
PerformCoolFunction()
8
{
9
if
(Functions.Count
>
1
&&
Name
==
"
RCA
"
&&
CreateYear
>
DateTime.Now.Year
-
2
)
10
{
11
return
"
do something
"
;
12
}
13
return
"
do nothing
"
;
14
}
15
}
16
腐ったコード3
1
public
void
Create(
string
name,
string
id,
int
age,
string
address,
string
city)
2
{
3
//
do something
4
}