Vous comprenez peut-ĂȘtre comment Ă©crire un bon code, comment adhĂ©rer Ă un bon design. Mais cette connaissance ne peut pas ĂȘtre structurĂ©e. Le livre de John Ousterhout Une philosophie de la conception logicielle peut aider Ă rĂ©soudre ce problĂšme.
Cela m'a permis de structurer les connaissances que j'ai accumulées en 3 ans en tant que développeur et de corriger de nombreuses erreurs de compréhension du bon code. Elle a aidé à clarifier plus clairement ce que c'est.
, , .
, . , . , .
2 :
- . , , .
- . â .
ââ. , , API .. .
, , .
:
- .
- . , , .
- , , .
:
- :
- ( )
, . , . , , .
2 , :
, . , , , .
, â , , . , .
â , . :
- â .
- â , .
, . . , .
. , . , , .
, .
20% , , .
, .
, , â .
, , . .
, , . , , .
:
- â , , ..
- â , .
â , . 2 :
- â
- â , .
, , .
, , , . , , , .
.
, , . :
- back-door. , , , . .
, â , 1 ?â. .
Ì
, . , , 3 : , . , , .
, . . , .
, - .
, .
, , .
, :
- ?
- ? , .
- ?
,
, .
:
- â , . :
public function foo() {
return this->bar();
}
, , . , .
â , .
, . .
- â . :
public function foo(SomeClass variable) {
$this->bar(variable);
}
, . , , , , .
â DI . , , . , (immutable).
. . ( â , , ).
, . , , . , .
. , .
, , , . , , :
- .
- . .
- .
- .
- .
. , , . , , â .
â , .
, , , â , . , .
, , , .
exception . , . - , .
:
- ,
â . , .
, .
:
- . .
- , .
- , .
- , .
. .
. . .
. , . , . , .
:
, , .
, 1-2 . , .
, :
- â . , :
- , , .
- , , .
- , , , - .
- .
- . , - .
- . . .
â , . , . . .
. , .
.
â .
, , .
, . .
â , ( ). . . , , .
, , http . , .
, . â . , .
:
- .
- . , , - .
- .
â .
:
:
- , count. , , - . . .
- , .. , .
â , , â . :
- ( MVC )
:
- , .
- . , , , .
, . :
- , , .
- , .
, , , . 2 :
- ?
- , ?
ââ, .
, . . , .
Agile
, Agile. . .
, agile , , .
Unit
, unit . QA .
Unit , , .
TDD
TDD , , .
. , , , .
, , .
, .
, , , . .
, . .
, . , , . .
, , , . - , .