Bratakstator / BetterMemory

SET_Gruppe_01
0 stars 0 forks source link

Bli engie om hvordan vi skal kode i java #31

Open hhamnnes opened 2 months ago

hhamnnes commented 2 months ago

Vi må bli enige om hvordan vi skal kode på best mulig måte for å kunne sammarbeide godt.

hhamnnes commented 2 months ago

Tips fra co-pilot i vsc: When working on a Java project in a group, it's important to follow best practices to ensure that all parts of the code can work together seamlessly. Here are some key considerations:

Consistent Coding Standards:

Establish and follow a consistent coding style guide (e.g., naming conventions, indentation, comments). Use tools like Checkstyle or PMD to enforce coding standards. Version Control:

Use a version control system like Git. Follow a branching strategy (e.g., GitFlow) to manage feature development, bug fixes, and releases. Regularly merge changes from the main branch to avoid conflicts. Modular Design:

Break down the project into smaller, manageable modules or packages. Ensure each module has a clear responsibility and well-defined interfaces. Documentation:

Document code with JavaDoc comments. Maintain a README file with project setup instructions, usage, and contribution guidelines. Keep design documents and architecture diagrams up to date. Code Reviews:

Conduct regular code reviews to ensure code quality and share knowledge among team members. Use pull requests to facilitate code reviews and discussions. Automated Testing:

Write unit tests for individual components using frameworks like JUnit. Implement integration tests to ensure different parts of the system work together. Use continuous integration (CI) tools like Jenkins or GitHub Actions to run tests automatically. Communication:

Use collaboration tools like Slack, Microsoft Teams, or email for regular communication. Hold regular meetings or stand-ups to discuss progress, blockers, and next steps. Dependency Management:

Use a build tool like Maven or Gradle to manage project dependencies. Ensure all dependencies are well-documented and versioned. Consistent Environment:

Use containerization tools like Docker to ensure consistent development and production environments. Provide setup scripts or documentation to help team members set up their development environment. Error Handling and Logging:

Implement proper error handling and logging mechanisms. Use logging frameworks like Log4j or SLF4J to capture and manage logs.

hhamnnes commented 2 months ago

Flere tips fra co-pilot for vsc: Selvfølgelig! Her er noen tips for å skrive god kode i Java:

Følg navnekonvensjoner:

Bruk camelCase for variabler og metoder. Bruk PascalCase for klassenavn. Bruk store bokstaver med understrek for konstante variabler (static final). Skriv lesbare og selvforklarende kodenavn:

Unngå forkortelser og bruk beskrivende navn som gir mening. Modularisering:

Del opp koden i mindre metoder som gjør én ting hver. Dette gjør koden mer lesbar og lettere å vedlikeholde. Bruk kommentarer med omhu:

Kommenter hvorfor noe gjøres, ikke hva som gjøres. Koden skal være selvforklarende så langt det er mulig. Unngå magiske tall:

Bruk konstante variabler i stedet for å ha tallverdier direkte i koden. Bruk unntakshåndtering:

Håndter unntak på en meningsfull måte. Ikke bare fang dem opp uten å gjøre noe. Følg SOLID-prinsippene:

Single Responsibility Principle: En klasse bør ha ett ansvar. Open/Closed Principle: Klasser bør være åpne for utvidelse, men lukkede for modifikasjon. Liskov Substitution Principle: Subklasser bør kunne erstatte superklasser uten å endre funksjonaliteten. Interface Segregation Principle: Mange spesifikke grensesnitt er bedre enn ett generelt. Dependency Inversion Principle: Avhengigheter bør gå fra høyere nivåer til lavere nivåer. Enhetstesting:

Skriv enhetstester for å sikre at koden fungerer som forventet og for å gjøre det lettere å refaktorere. Bruk versjonskontroll:

Bruk Git eller et annet versjonskontrollsystem for å holde styr på endringer i koden. Optimalisering:

Optimaliser koden for ytelse, men ikke før det er nødvendig. Prematur optimalisering kan gjøre koden vanskeligere å lese og vedlikeholde.