Mapa mental
Good Software Development Practices
Contenido del mapa
Good Software Development Practices
Refactoring
- Behavior Preserving
- Make sure code works after each change
- Methods
- Rename Variables, Classes, and Atrributes
- Collapse Hiearchy
- Merge too similar superclass and subclass
- Extract Methods
- Create a method from cohesive large fragment in large method
- Consdolidate Conditional Expression
- Combine and Extract long Conditionals with same results
- Decompose Conditionals
- Create methods from complex conditionals
- Extract Class
- Extract class that is doing work of 2 classes
- Benefits
- Readability
- Understandability
- Maintainability
- Rapid and easy addition of new features
- Tools
- Android Studio
- Refactor Menu
- Resharper(.NET)
- Spring Tools Suite
- Jetbrains Rider
- SonarQube
- Detect code bugs and smells automatically before peer review
- Android Studio
- When to Refactor
- Add features and code not convenient structure for that
- Before code review
- To fix bugs
- Code Smells
- When not to refactor
- Code broken
- Deadline approaching
- Behavior Preserving
Code Smells
- Factors
- Technical Debt
- Rushing
- Avoiding good practices
- Technical Debt
- Taxonomy
- Bloaters
- Long Methods
- Large Classes
- Long Parameter Lists
- Data Clumps
- Object Oriented Abusers
- Switch statements
- Refused Bequest
- Change Preventers
- Divergent Change
- Shotgun Surgery
- Dispensables
- Duplicate Codes
- Data class
- Lazy class
- Couplers
- Feature envy
- Inappropriate envy
- Middle man
- Bloaters
- Factors
Software Testing
- Benefits
- $607 billion in bugs in 2020
- Some software bugs can be life threatening to users
- Approaches to Verification
- Dynamic Verification
- Test in runtime environment
- Unit Integration
- Integration Testing
- System Testing
- Acceptance Testing
- Regression Testing
- Static Verification
- Check code without running
- Does not require runtime and compiled code
- Perform early on in development process
- Inspection/Review/Walkthrough
- Inspection: Formal checklist and moderator
- Review: Less formal, peers going over the code
- Walkthrough: Read over your code out loud.
- Formal Verification
- Mathematical Methods to prove your code has no errors/bugs
- Can be time consuming and expensive
- Dynamic Verification
- Testing Stages
- Developer Testing
- Alpha Testing
- Beta Testing
- Product Release
- Testing Techniques
- Opaque Box Testing
- Clear Box Testing
- TDD Cycle
- Benefits
- Impose developer discipline
- Incremental specification
- Avoid regression errors
- Allow changing with confidence
- Write code test, then code, then refactor
- Cycle of 3 steps listed in some sequence
- Benefits
- Benefits
Información
- Descripción
- Mapa Mental sobre Good Software Development Practices, creado por Patcharapong Aphiwetsa el 30/07/2024.
- Creado por
- Patcharapong Aphiwetsa
- Visitas
- 0
- Valoración