O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

First Task

Aryan Bhatia Computer Science Inglês

Conteúdo do mapa

First Task

  1. Test Driven Development

    • Cost
      • Good Testing
        • Expensive but worth
          • Useful over time
            • Reduces chance of failure
      • Bad Testing
        • Extremely expensive
          • Not sustainable
            • Increased chance of failure
      • Impact
    • Testing
      • Verification
        • Dynamic
          • Regular Test Motions
            • Go Step By Step
              • Run with different inputs
                • New Trial every time
                  • Execute in runtime
                    • Check Behaviour
                • Make the System Fail
            • Work until done
              • Run with different implement
                • Many Levels
                  • Unit Testing Integration Testing System Testing Acceptance Testing Regression Testing
                • New Items every time
            • Individual work for immediate use
        • Static
          • Incremented Test Motions
            • Syntax Check
              • Fix as errors pop up
            • Method Check
              • Examine code without execution
                • Tools analyze for potential issues
                  • Performed early in dev process
                    • No runtime or compilation
          • Individual work for long term use
        • Review
          • Code is mostly done
            • Discussion used to test
              • Group used to Manual
            • Test for bugs
              • Inspection: Formal Checklist + Moderator
              • Reviews: Less Formal + Peers
              • Walkthroughs: Informal + Author
        • Formalization
          • Use hard proofs
            • Software and Math Heavy
              • Complex and Difficult
                • Used to guarantee
                  • Overkill
                  • Time Consuming and Expensive
            • Good in Practice
      • Validation
        • Inside Organization
          • Developer Testing
            • Alpha Testing
        • Outside Organization
          • Beta Testing
            • Product Release
    • Test is written before the class
      • Write Test Code Write Functional Code Refactor
        • Red
          • Fail
        • Refactor
          • Improve
        • Green
          • Work
      • Discipline Specification Reduce Error Easy Change
  2. Code Smells

    • A quick spot that indicates problems in code
      • Found during refactor or examinations
      • Comes from rushed design and disregard for tech debt
        • Right Way: Good Practice
        • Fast Way: Hacked Together
    • Process of improving code into clean and simple design
      • Bloaters
        • Something that has grown too large
          • Smells in Group: Long Method Large Class Long Param Data Clumps
          • Solution: Extract Method Extract Class Replace Param Replace Object
      • Change Preventers
        • Smells that hinder changing or further development
          • Smells in group: Divergent Change Shotgun Surgery
          • Solution: Extract Class Extract Method Move Methods
      • Couplers
        • Measure of how close connected two routines or modules are
          • Smells In Group: Feature envy Inappropriate Intimacy Middle Man
          • Solution: Move Method Bidirectional Associate Inline Class
      • Dispensables
        • Represents something unnecessary that should be removed from source code
          • Solution: Inline Class Move Method Extract Method Encapsulation Extract Method
          • Smells In Group: Lazy Class Data Class Duplicated Code
      • Object Orientation Abusers
        • Cases where solution does not fully exploit OOD
          • Solution: Use Polymorphism Extract Method Push Method Implement Interface
          • Smells in Group: Switch Statements Refused Bequest
  3. Refactoring

    • Small techniques to improve program design
      • Goal is to keep program maintainable
        • Behavior Preserving
    • Requirements Change
      • Agile
        • Makes design more Flexible
          • Do not refactor when code is broken
          • Do not refactor when deadline approaches
          • Do not refactor when uneeded
      • Design Improvements
        • Copy Paste for new Method
    • Types of Refactoring
      • Method Rename Collapse Hierarchy Consolidate Conditional Decompose Conditional Extract Class Extract Method
        • Modern IDE's can do this
        • Extract Method
          • Large Code reduced to method + call to method
        • Consolidate Conditional
          • If there are conditionals with same result, combine and extract
        • Decompose Conditional
          • If a conditional is complex, extract method, give name, modify then/else
        • Extract Class
          • If a class is doing work of 2 classes, separate
    • Tools
      • Refactor when approving other developers PR
        • Based on many different rules for different languages covering code smells, test coverage, code security
          • Automated tools are important due to lack of time to make changes manually
        • Use when you have to add a feature
        • Use during code review
        • Use when fixing a bug

Informações

Descrição
Computer Science Mapa Mental sobre First Task, criado por Aryan Bhatia em 22-07-2024.
Criado por
Aryan Bhatia
Visualizações
0
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?