PEMROGRAMAN LANJUT Code Smells Change Preventer Oleh Politeknik

  • Slides: 18
Download presentation
PEMROGRAMAN LANJUT Code Smells: Change Preventer Oleh Politeknik Elektronika Negeri Surabaya 2018

PEMROGRAMAN LANJUT Code Smells: Change Preventer Oleh Politeknik Elektronika Negeri Surabaya 2018

Code Smells Couplers Dispensable Change Preventer Bloaters Object Oriented Abuser

Code Smells Couplers Dispensable Change Preventer Bloaters Object Oriented Abuser

Code Smells Couplers Dispensable Change Preventer Bloaters Object Oriented Abuser

Code Smells Couplers Dispensable Change Preventer Bloaters Object Oriented Abuser

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern Shotgun Surgery

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern Shotgun Surgery

Divergent Change Perubahan pada satu method menyebabkan perubahan pada banyak method lain dalam satu

Divergent Change Perubahan pada satu method menyebabkan perubahan pada banyak method lain dalam satu class. Contoh 6

Refactoring Divergent Change

Refactoring Divergent Change

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern Shotgun Surgery

Shotgun Surgery Satu perubahan yang dilakukan pada banyak class secara bersamaan. 9

Shotgun Surgery Satu perubahan yang dilakukan pada banyak class secara bersamaan. 9

Contoh Shotgun Surgery 10

Contoh Shotgun Surgery 10

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern Shotgun Surgery

Parallel Inheritance Hierarchies Ketika terjadi penambahan subclass pada suatu class, perlu dilakukan penambahan subclass

Parallel Inheritance Hierarchies Ketika terjadi penambahan subclass pada suatu class, perlu dilakukan penambahan subclass juga untuk class lain. 12

Contoh Superclass Jabatan berisi fungsional tugas yang dilakukan karyawan. Superclass Milestone berisi fungsional pelaporan

Contoh Superclass Jabatan berisi fungsional tugas yang dilakukan karyawan. Superclass Milestone berisi fungsional pelaporan tugas harian karyawan. 13

Refactoring 14

Refactoring 14

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern

Code Smells: Change Preventer Parallel Inheritance Hierarchies Change Preventer Divergent Change Arrow Anti Pattern Shotgun Surgery

Arrow Anti Pattern (Nested Conditional) 16 Contoh

Arrow Anti Pattern (Nested Conditional) 16 Contoh

Contoh Solusi: Refactoring Arrow Anti Pattern (Nested Conditional) Flatten Conditional; Replace w/ Guard Clause;

Contoh Solusi: Refactoring Arrow Anti Pattern (Nested Conditional) Flatten Conditional; Replace w/ Guard Clause; 17