Clean Code
- Περιγραφή
- Πρόγραμμα σπουδών
- Συχνές ερωτήσεις
Ενημέρωση για Σεμινάρια Udemy
Για να παρακολουθήσετε ένα Σεμινάριο που ανήκει στο Udemy ακολουθήστε τον κατάλληλο σύνδεσμο «Μπείτε στο Udemy»,και μέσα από το περιβάλλον του Udemy πληρώνετε το κόστος και το Σεμινάριο είναι στην διάθεση σας με τους όρους και τις προϋποθέσεις που αναφέρονται εκεί.
Οι τιμές πού εμφανίζονται στο Seminarpro ενδέχεται να είναι διαφορετικές από αυτές του Udemy , αυτό συμβαίνει διότι περιστασιακά το Udemy μεταβάλλει τις τιμές ανάλογα με την πολιτική προσφορών που εφαρμόζει. Η τιμή αγοράς είναι αυτή που εμφανίζεται κάθε φορά στο Udemy.
Τα Σεμινάρια που προβάλλονται στο Seminarpro αλλά προέρχονται από το Udemy περιέχουν video με ελληνικούς υπότιτλους. Οι υπόλοιπες δραστηριότητες όπως σημειώσεις ή ερωτήσεις κατανόησης είναι στα Αγγλικά.
Η πληρωμή γίνεται απευθείας στο Udemy και αυτό είναι υπεύθυνο για την έκδοση αντίστοιχων παραστατικών.
Περιγραφή Σεμιναρίου
Ως προγραμματιστής, θα πρέπει να μπορείτε να γράψετε κώδικα που λειτουργεί – φυσικά! Ωστόσο, πολλοί προγραμματιστές γράφουν κακό κώδικα – παρόλο που ο κώδικας λειτουργεί. Γιατί ο «κωδικός εργασίας» δεν είναι το ίδιο με τον «καθαρό κώδικα»! Αυτό το μάθημα σας διδάσκει πώς να γράφετε καθαρό κώδικα – κώδικα που είναι εύκολο να διαβαστεί και να κατανοηθεί από τον άνθρωπο, όχι μόνο από τους υπολογιστές! Σε αυτό το μάθημα, θα μάθετε τι ακριβώς είναι καθαρός κώδικας και, το πιο σημαντικό, πώς μπορείτε να γράψετε καθαρό κώδικα. Διότι εάν ο κώδικάς σας είναι γραμμένος με καθαρό τρόπο, είναι ευκολότερο να διαβαστεί και να κατανοηθεί και επομένως πιο εύκολο να διατηρηθεί. Επειδή ΔΕΝ είναι μόνο ο υπολογιστής που πρέπει να κατανοήσει τον κώδικά σας – οι συνάδελφοί σας και ο μελλοντικός σας εαυτός πρέπει να μπορούν να τον καταλάβουν επίσης!
Αυτό το μάθημα είναι μια συλλογή κοινών προτύπων, βέλτιστων πρακτικών, αρχών και κανόνων που σχετίζονται με τη σύνταξη καθαρού κώδικα.
Σε αυτό το μάθημα, θα μάθετε για μια ευρεία ποικιλία εννοιών, κανόνων, ιδεών, σκέψεων και αρχών και στο τέλος, φυσικά, θα έχετε μια καλή ιδέα για το τι πρέπει να έχετε κατά νου όταν πρόκειται να γράψετε καθαρό κώδικα.
Ωστόσο, αυτό δεν είναι ένα μάθημα μοτίβων σχεδίασης ή γενικών προτύπων – θα επικεντρωθούμε αποκλειστικά σε μοτίβα, κανόνες και έννοιες που βοηθούν στη σύνταξη καθαρού κώδικα ειδικά.
Όλες αυτές οι έννοιες και οι κανόνες υποστηρίζονται από παραδείγματα, αποσπάσματα κώδικα και επιδείξεις. Και για να διασφαλίσετε ότι θα αξιοποιήσετε στο έπακρο αυτό το μάθημα, και ότι δεν θα μάθετε απλώς μια δέσμη θεωριών που ξεχνάτε αμέσως μετά, υπάρχουν επίσης πολλές προκλήσεις για να εφαρμόσετε όσα μάθατε!
Αυτό το μάθημα χρησιμοποιεί Python, JavaScript και TypeScript για παραδείγματα κώδικα, αλλά δεν χρειάζεται να γνωρίζετε αυτές τις γλώσσες για να ακολουθήσετε και να κερδίσετε πολλά από το μάθημα. Επιπλέον, το μάθημα δεν εστιάζει σε ένα συγκεκριμένο στυλ ή παράδειγμα προγραμματισμού (όπως λειτουργικός προγραμματισμός, αντικειμενοστραφής προγραμματισμός κ.λπ.) αλλά καλύπτει γενικές έννοιες και τεχνικές που θα ισχύουν πάντα.
Ποιες είναι οι προϋποθέσεις του μαθήματος; Απαιτούνται βασικές γνώσεις προγραμματισμού (όποια γλώσσα κι αν είναι)! Δεν χρειάζεται να γνωρίζετε κάποια συγκεκριμένη γλώσσα προγραμματισμού ή πρότυπο προγραμματισμού για να ακολουθήσετε ΔΕΝ απαιτείται προηγούμενη εμπειρία στη σύνταξη καθαρού κώδικα
-
1Welcome to the Course!Video lesson
-
2What is "Clean Code"?Video lesson
-
3Clean Code - Key Pain Points & How To Write Clean CodeVideo lesson
-
4How Is This Course Structured?Video lesson
-
5Course PrerequisitesVideo lesson
-
6Clean Code & Strongly Typed LanguagesVideo lesson
-
7About The Course Code ExamplesVideo lesson
-
8Join Our Learning Community!Text lesson
-
9Functional, OOP, Procedural: The Course Concepts Always Apply!Video lesson
-
10Clean Code, Principles & Patterns & Clean ArchitectureVideo lesson
-
11Clean Code vs Quick CodeVideo lesson
-
12Module & Course ResourcesText lesson
-
13Module IntroductionVideo lesson
-
14Why Good Names MatterVideo lesson
-
15Choosing Good NamesVideo lesson
-
16Casing Conventions & Programming LanguagesVideo lesson
-
17Naming Variables & Properties - TheoryVideo lesson
-
18Naming Variables & Properties - ExamplesVideo lesson
-
19Naming Functions & Methods - TheoryVideo lesson
-
20Naming Functions & Methods - ExamplesVideo lesson
-
21Naming Classes - TheoryVideo lesson
-
22Naming Classes - ExamplesVideo lesson
-
23Exceptions You Should Be Aware OfVideo lesson
-
24Common Errors & PitfallsVideo lesson
-
25Demo Time!Video lesson
-
26Your Challenge - ProblemVideo lesson
-
27Your Challenge - SolutionVideo lesson
-
28Module ResourcesText lesson
-
29Module IntroductionVideo lesson
-
30Bad CommentsVideo lesson
-
31Good CommentsVideo lesson
-
32What is "Code Formatting" Really About?Video lesson
-
33Vertical FormattingVideo lesson
-
34Formatting: Language-specific ConsiderationsVideo lesson
-
35Horizontal FormattingVideo lesson
-
36Your Challenge - ProblemVideo lesson
-
37Your Challenge - SolutionVideo lesson
-
38Module ResourcesText lesson
-
39Module IntroductionVideo lesson
-
40Analyzing Key Function PartsVideo lesson
-
41Keep The Number Of Parameters Low!Video lesson
-
42Refactoring Function Parameters - Ideas & ConceptsVideo lesson
-
43When One Parameter Is Just RightVideo lesson
-
44Two Parameters & When To RefactorVideo lesson
-
45Dealing With Too Many ValuesVideo lesson
-
46Functions With A Dynamic Number Of ParametersVideo lesson
-
47Beware Of "Output Parameters"Video lesson
-
48Functions Should Be Small & Do One Thing!Video lesson
-
49Why "Levels of Abstraction" MatterVideo lesson
-
50When Should You Split?Video lesson
-
51Demo & ChallengeVideo lesson
-
52Stay DRY - Don't Repeat YourselfVideo lesson
-
53Splitting Functions To Stay DRYVideo lesson
-
54Don't Overdo It - Avoid Useless ExtractionsVideo lesson
-
55Understanding & Avoiding (Unexpected) Side EffectsVideo lesson
-
56Side Effects - A ChallengeVideo lesson
-
57Why Unit Tests Matter & Help A Lot!Video lesson
-
58Module ResourcesText lesson
-
59Module IntroductionVideo lesson
-
60Useful Concepts - An OverviewVideo lesson
-
61Introducing "Guards"Video lesson
-
62Guards In ActionVideo lesson
-
63Extracting Control Structures & Preferring Positive PhrasingVideo lesson
-
64Extracting Control Structures Into FunctionsVideo lesson
-
65Writing Clean Functions With Control StructuresVideo lesson
-
66Inverting Conditional LogicVideo lesson
-
67Embrace Errors & Error HandlingVideo lesson
-
68Creating More Error GuardsVideo lesson
-
69Extracting Validation CodeVideo lesson
-
70Error Handling Is One Thing!Video lesson
-
71Using Factory Functions & PolymorphismVideo lesson
-
72Working with Default ParametersVideo lesson
-
73Avoid "Magic Numbers & Strings"Text lesson
-
74Module SummaryVideo lesson
-
75Module ResourcesText lesson
-
76Module IntroductionVideo lesson
-
77Important: This is NOT an OOP or "Patterns & Principles" Course!Video lesson
-
78Objects vs Data Containers / Data StructuresVideo lesson
-
79Why The Differentiation MattersVideo lesson
-
80Classes & PolymorphismVideo lesson
-
81Classes Should Be Small!Video lesson
-
82Understanding "Cohesion"Video lesson
-
83The "Law Of Demeter" And Why You Should "Tell, Not Ask"Video lesson
-
84The SOLID PrinciplesVideo lesson
-
85The Single-Responsibility-Principle (SRP) & Why It MattersVideo lesson
-
86The Open-Closed Principle (OCP) & Why It MattersVideo lesson
-
87The Liskov Substitution PrincipleVideo lesson
-
88The Interface Segregation PrincipleVideo lesson
-
89The Dependency Inversion PrincipleVideo lesson
-
90Module ResourcesText lesson