click below
click below
Normal Size Small Size show me how
ProgToolsSarili
das
| Question | Answer |
|---|---|
| Are rules and conventions that developers follow when writing code. These rules define the code characteristics necessary to maintain a uniform codebase and facilitate collaboration among developers. | Coding standards, also known as coding guidelines or programming style guides, |
| •An "___ ___ ___" refers to coding guidelines that are accessible to the public, allowing for community collaboration and input. | open coding standard |
| • a "___ ___ ___" refers to coding rules enforced within a company. | closed coding standard |
| Key Considerations for Choosing | • Maintainability and Consistency • Collaboration • Security • Resource-intensive |
| •A software design approach that emphasizes separation Of concerns, maintainability, and testability. • Dependencies point inward; inner layers don't rely on outer layers | Clean Architecture |
| Why Use Clean Architecture | • Improves maintainability and scalability • Makes code testable without Ul or database • Supports flexible frameworks and tools replacement • Encourages separation of concerns |
| • layers never depend on outer layers • Outer layers can depend on inner layers | Dependency Rule |
| Entities: Domain Objects, Rules | Responsibility: Core Business Logic |
| Use Cases/Application: Services Interactors | Responsibility: Application Workflows |
| Interface Adapters: Controllers, presenters, gateways | Responsibility: Data Conversion |
| Frameworks & Drivers: UI, DB, APIs, messaging | Responsibility: External Systems |
| Handles user interactions and sends requests to the | Presentation layer |
| Contains business logic orchestrating how entities interact. | Application / use Cases layer |
| Core business models; independent Of frameworks and technologies. | Domain / Entities layer |
| Implements external dependencies like databases, web APIs, Or file systems. | Infrastructure layer |
| Key principle | Inner layers don't depend on outer layers; dependencies point inward. |
| • Tools used by developers to design, develop, test, and maintain software. • Help improve productivity, code quality, collaboration, and project management. | Programming Tools |
| • Automate repetitive tasks (e.g., builds, testing) • Ensure code quality and consistency • Facilitate debugging and error detection • Enable collaboration among team members • Support project tracking and documentation | Importance of Programming Tools |
| Write, debug, and manage code efficiently | IDE: VSCode |
| Track changes, collaborate on code | Version Control: GitHub |
| Automate compilation and deployment | Build Tools: Maven |
| unit, integration, and API testing | Testing Tools: Postman |
| Detect and fix errors in code | Debugging Tools: GDB, IDE Debuggers |
| Create and maintain project documentation | Documentation Tools: Markdown |
| Team communication and project management | Collaboration Tools: Jira |
| Microsoft. It's widely used by developers for writing, editing, and debugging code across many programming languages. | VS code |
| A small software add-on that extends the functionality of an existing application (like VS Code, Chrome, or Jupyter). | • Extension |
| A piece of software that can plug into a larger software system to provide additional functionality. | •Plugin |
| • ___ ___, also known as source control, is the practice of tracking and managing changes to software code. • ___ ___ systems are software tools that help software teams manage changes to source code over time. | Version control |
| • By far, the most widely used modern version control system in the world today is ___. ___ is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. | Git |
| initialize an existing directory as a Git repository | git init |
| retrieve an entire repository from a hosted location via URL | git clone [URL] |
| show modified files in working directory, staged for your next commit | git status |
| add a file as it looks now to your next commit (stage) | git add [file] |
| unstage a file while retaining the changes in working directory | git reset [file] |
| diff of what is changed but not staged | git diff |
| diff of what is staged but not yet committed | git diff --staged |
| commit your staged content as a new commit snapshot | git commit -m "[descriptive message]" |