SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Verzió követő rendszerek
(SCM)
SIPOS Péter
Szoftverfejlesztési csoportvezető
peter.sipos@neti.com
+36309280477
Tartalom
• Mire jók a verziókövető rendszerek?
• Mik az alapvető utasítások a verziókövető rendszerek
esetében.
• Ismerkedés a GIT-el röviden.
• Hogyan javítsunk a kódminőségen SCM-el?
• Milyen workflow-t alkalmazzunk?
Verziókövető rendszerek
• SCM – Source Control Mangement
• Kódváltozások archiválása
• Kooperáció a csapaton belül
Kódváltozások archiválása
„Nobody actually creates perfect code the first time around, except me. But there's
only one of me. ”
Linus Torvalds, 2007.
• Könnyebb hibajavítás, ha valaki eltörte a kódot
• Mindennek nyoma marad, nincs véletlenül kidobott kód
• Centralizált esetben a kód biztonságos szerveren van
• Egymástól eltérő kódbázis fenntartása közös alapokon
Kooperáció a csapaton belül
• Külön fejlesztési ágak létrehozása
• Leegyszerűsített code review
• Könnyebb áttérés egy másik munkára, hibajavításra
• Egymás kódjának megtekintése, azonnali közreműködés
• Release és tesztelési folyamat leegyszerűsödik
Mindig vannak hibák. Az SCM lehetővé teszi ezek nyomon
követhetőségét.
De hogyan is „verziókövessünk”?
• Nem csak magunknak végezzük, sőt elsősorban másoknak
• Mindent részletesen írjunk le
• Alapvető utasítás: „commit”
• Legyen minél gyakoribb és egyértelmű a commit
• Figyeljünk rá, hogy minden lényegeset feltegyünk, a szemetet
pedig ne (fordító fájljai, ideiglenes object-ek, stb…)
A „Commit”
• Lehető leggyakrabban, amikor kis funkció elkészül (akár 10
soronként)
• Csak összetartozó kódok legyenek egy commit-ban (interface
módosítás, új funkció)
• Nem gond, ha a commit nem működik
• Legyen beszédes és egyértelmű
• Legyen angol nyelvű
The good commit message*
• Separate subject from body with a blank line
• Limit the subject line to 50 characters
• Capitalize the subject line
• Do not end the subject line with a period
• Use the imperative mood in the subject line
• Wrap the body at 72 characters
• Use the body to explain what and why vs. how
* Source: http://chris.beams.io/posts/git-commit/
Other commands
• Clone - saját másolat készítése
• Tag - megcímkézés
• Push - feltöltés
• Pull - letöltés
• Merge – összeolvasztás
• Checkout - egy állapot megtekintése
GIT verziókövető rendszer
Ingyenes.
• Nem kifejezetten centralizált
• A változások csak munkamásolatként léteznek (working copy)
• A commitra jelölt változások a stage-be kerülnek
• Lehetőség van „remote” beállítására
• Init, clone, commit, add, tag, push, pull, fetch, merge, revert,
…
http://pcottle.github.io/learnGitBranching/
Source: http://explainxkcd.com/wiki/index.php/1597:_Git
Kódminőség javítása
• Visszakövethetőség
• Könnyű hibajavítás
• Könnyű megtalálni egy sor felelősét
• Könnyű code review, így uralni lehet a kódot
• A commitokra bontás átgondolttá teszi a folyamatot
Workflow
• Stabil (védett) ágak működő verzió érdekében
• Minden funkció külön ágok (branch) fejlődik
• A funkció ágak csak ellenőrzés után kerülnek be a stabil ágba
Worklow
Soruce: https://www.linkedin.com/pulse/git-merge-resolving-git-merge-conflict-code-branches-gaurav-aggarwal
Tools
• Gitlab*
• Gitorious
• GitHub
Kérdések?
Köszönöm a figyelmet!
Péter SIPOS
Software Development Team Leader
peter.sipos@neti.com
+36 30 928 0477

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Short review about Source Control Management systems (hungarian)

  • 1. Verzió követő rendszerek (SCM) SIPOS Péter Szoftverfejlesztési csoportvezető peter.sipos@neti.com +36309280477
  • 2. Tartalom • Mire jók a verziókövető rendszerek? • Mik az alapvető utasítások a verziókövető rendszerek esetében. • Ismerkedés a GIT-el röviden. • Hogyan javítsunk a kódminőségen SCM-el? • Milyen workflow-t alkalmazzunk?
  • 3. Verziókövető rendszerek • SCM – Source Control Mangement • Kódváltozások archiválása • Kooperáció a csapaton belül
  • 4. Kódváltozások archiválása „Nobody actually creates perfect code the first time around, except me. But there's only one of me. ” Linus Torvalds, 2007. • Könnyebb hibajavítás, ha valaki eltörte a kódot • Mindennek nyoma marad, nincs véletlenül kidobott kód • Centralizált esetben a kód biztonságos szerveren van • Egymástól eltérő kódbázis fenntartása közös alapokon
  • 5. Kooperáció a csapaton belül • Külön fejlesztési ágak létrehozása • Leegyszerűsített code review • Könnyebb áttérés egy másik munkára, hibajavításra • Egymás kódjának megtekintése, azonnali közreműködés • Release és tesztelési folyamat leegyszerűsödik Mindig vannak hibák. Az SCM lehetővé teszi ezek nyomon követhetőségét.
  • 6. De hogyan is „verziókövessünk”? • Nem csak magunknak végezzük, sőt elsősorban másoknak • Mindent részletesen írjunk le • Alapvető utasítás: „commit” • Legyen minél gyakoribb és egyértelmű a commit • Figyeljünk rá, hogy minden lényegeset feltegyünk, a szemetet pedig ne (fordító fájljai, ideiglenes object-ek, stb…)
  • 7. A „Commit” • Lehető leggyakrabban, amikor kis funkció elkészül (akár 10 soronként) • Csak összetartozó kódok legyenek egy commit-ban (interface módosítás, új funkció) • Nem gond, ha a commit nem működik • Legyen beszédes és egyértelmű • Legyen angol nyelvű
  • 8. The good commit message* • Separate subject from body with a blank line • Limit the subject line to 50 characters • Capitalize the subject line • Do not end the subject line with a period • Use the imperative mood in the subject line • Wrap the body at 72 characters • Use the body to explain what and why vs. how * Source: http://chris.beams.io/posts/git-commit/
  • 9. Other commands • Clone - saját másolat készítése • Tag - megcímkézés • Push - feltöltés • Pull - letöltés • Merge – összeolvasztás • Checkout - egy állapot megtekintése
  • 10. GIT verziókövető rendszer Ingyenes. • Nem kifejezetten centralizált • A változások csak munkamásolatként léteznek (working copy) • A commitra jelölt változások a stage-be kerülnek • Lehetőség van „remote” beállítására • Init, clone, commit, add, tag, push, pull, fetch, merge, revert, … http://pcottle.github.io/learnGitBranching/
  • 12. Kódminőség javítása • Visszakövethetőség • Könnyű hibajavítás • Könnyű megtalálni egy sor felelősét • Könnyű code review, így uralni lehet a kódot • A commitokra bontás átgondolttá teszi a folyamatot
  • 13. Workflow • Stabil (védett) ágak működő verzió érdekében • Minden funkció külön ágok (branch) fejlődik • A funkció ágak csak ellenőrzés után kerülnek be a stabil ágba
  • 17. Köszönöm a figyelmet! Péter SIPOS Software Development Team Leader peter.sipos@neti.com +36 30 928 0477