קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ Javascript ♦ קורס front end – שלבים הראשונים בלכתוב קוד כמו שצריך

קורס front end – שלבים הראשונים בלכתוב קוד כמו שצריך

וינר יאיר 2 באוקטובר 2023 אין תגובות

כותרת לא אמינה לפוסט הזה אבל זה מה שמצאתי לנכון אז סליחה מראש, בכל מקרה, לכתוב קוד כמו שצריך זה פילוסופיה שלמה ומי שממש רוצה להעמיק בזה שיצפה ב clean code של הדוד בוב.
יש הרבה שיטות לכתוב קוד וכל אחד שהוא מספיק טוב יהיה לו מה להגיד על זה. אז גם מה שאני אומר פה , ככל הנראה חלק יקבלו אותו חלק יהיה להם מה להגיד. כמו כן רוב הדברים שאני אציין פה, יתארו קונבציות בסיסיות ופופולאריות (נכון לימינו בתאריך זה).

לפני שנתחיל, חשוב לציין, כי בחרתי את הדוגמאות קוד בפוסט הזה ב ANGULAR ולכן אולי לא יתאימו בדיוק לפרויקטים אחרים, אבל אנסה להיות כמה שיותר גנרי, ביחס לנושאים שאותם אציין כמובן. אז נתחיל:

HTML – סמנטי . מבנה HTML חשוב מאד

מבנה HTML מדויק יקל עליכם רבות בעובדה, ישפר את החוויה של הגולשים וגם ישפר את הביצועים עבור מנועי החיפוש, אז שימו דגש על מבנה נכון וסמנטיות. אפשר לראות בתמונה כאן דוגמה של HTML סמנטי ולא סמנטי:

ישנן תגיות ייעודיות בHTML ורבים לא מודעים לחשיבות ופשוט עושים הכל ב DIV. אפשרי כמובן, אבל לא אידאלי. השתדלו להקפיד על כך. כמו כן תגיות זה לא הכל, ממליץ גם להגדיר ROLE שצריך , למשל אם תרצו לבנות TABS יהיה נכון להשתמש בהגדרות הנכונות למשל:

<div class="tabs">
  <div role="tablist" aria-label="Sample Tabs">
    <button
      role="tab"
      aria-selected="true"
      aria-controls="panel-1"
      id="tab-1"
      tabindex="0">
      First Tab
    </button>
  </div>
  <div id="panel-1" role="tabpanel" tabindex="0" aria-labelledby="tab-1">
    <p>Content for the first panel</p>
  </div>
</div>

CSS\SCSS – לכתוב DESIGN SYSTEM

נושא CSS גם נושא שקל הזניח, מתכנתים אוהבים לשבת שעות ולפצח קוד של לוגיקה ופתאום לעצב איזה כפתור עם גרדיאנט וטרנזישן יכול לגרום להם להזיע, וכן גם אפשר לעשות בלגן שלם בעיצוב בקלי קלות. פותחים ת inspect משנים קצת פרופס עושים קופי פייסט לסלקטור והופה הכל נראה טוב. גם שמעתי על כאלה שדפקו להם בדלת בגלל חוסר סדר בסטיילינג אז אם לא בשבילכם אז לפחות תעשו חיים קלים למפתחים אחריכם שלא יהיה מצב לא נעים 🫣.

בשביל לעשות חיים קלים כל מה שצריך לעשות זה DESIGN SYSTEM . שם מפוצץ עם הרבה משמעות אבל נתחיל בקטן. כל מה שצריך לעשות זה לפרק את העיצוב בצורה יעילה, לבנות קובץ כללי שיכיל את כל מה שאתם צריכים ברמת הDESIGN , צבעים במשתנים, קלאסים שחוזרים על עצמם בהרבה מקומות, תאימות למכשירים בהתאם למידות שאתם מעדיפים (break points), סט אנימציות ועוד אפשרויות עם SCSS כמו פונקציות, MIXIN ועוד…

סדרו תיקיות לקבצי העיצוב ושמות הגיוניים, למשל בangular אני עושה משהו כזה:

angular styles folder structure

יש לי תיקיה של הסטיילינג הככלי ושמה אני מפצל לקבצים ומשתמש ב import למשל כך:

ובשביל שאוכל לעשות import בקלות אני מגדיר בangular.json כך:

אנגולר במנה תיקיות

ברגע שיש לכם תיקיה ראשית להגדיר את כל מאפייני העיצוב אז כל מה שנשאר לכם זה להשתמש בהגדרות אלו ברכיבים השונים בקבצי הסטיילינג הפרטיים של אותם רכיבים וכך יהיה לכולנו חיים מסודרים יותר.

מבחינת כתיבת CSS , יש חשיבות לכתיבה אבל לרוב מאד זניח, יכול כמובן לפגוע בפרפורמנס אבל בדפדפנים של היום זה לא כזה מורגש, השתדלו לתת את המינימום הנדרש סלקטור, לדוגמה אם תרצו ליישר אלמנט למרכז אל תעשו flex, פלקס מביא איתו עוד המון הגדרות עיצוב לסלקטור, שכן כל מה שתצטרכו זה text-align: center

קוד מודולרי – לחלק למודולים בגבול הטעם הטוב

אחד הדברים שקורים להרבה מפתחים מתחילים זה שהקוד שלהם קשה לתחזוקה, ועם הזמן שהופכים מתכנתים מנוסים יותר אז שמים יותר דגש על קוד שנוח לתחזק. אחד מהשיטות לקוד נוח לתחזוקה הוא חלוקה מסודרת של קבצים ופונקציות שעושות משימה אחת בלבד, כלומר פונקציות קטנות ככל האפשר. מצב זה יבטיח נוחות מרבית בתחזוקת הפרויקט. בין אם החלטתם לכתוב פרויקט בJS או להשתמש באיזה framework\library תמיד ביכולתכם לחלק את הפרויקט לחתיכות בתוך תיקיות שונות ושמות בעלי משמעות לכל קובץ. כמו כן בעבודה עם ריאקט או אנגולר וכדומה, יהיה נוח יותר לבצע זאת, כי ישנה תשתית מוכנה מראש, ובכל זאת יהיה לכם קל לעשות בלגן. אז כמו שכבר הסברתי בפוסט קורס front end – קיבלתם פיצ’ר, מזל טוב! מה עכשיו? ומאיפה להתחיל? קודם כל, מתכננים. ועכשיו שאתם נגשים לקוד, התחילו בלייצר את התיקיות והקבצים המרכזיים ואז יהיה לכם מבנה ראשוני שיעשה לכם סדר בדברים. למשל:

הדטה הוא המלך – הגדירו את תצורת המידע וזרימת המידע בין הרכיבים

צרו את המודל של המידע שאותו כבר הגדרתם, והגדירו תרשים מתי ואיפה מגיע המידע וכיצד המידע מחלחל בין הרכיבים השונים שעליהם אתם אחראיים. ולאחר שיש לכם את התרשים ב figma תוכלו לגשת לקבצים וליצור את הCLASS, TYPES, INTERFACE, ENUMS שאתם צריכים.

 TYPES, INTERFACE, ENUMS

כתיבת קוד עם משמעות והסברים מסודרים

לרשום שם לפונקציה או למשתנה אני מאמין שכולם יודעים לעשות ומי שקצת מתקשה בשליפת שמות טובים יכול להיעזר ב copilot שלרוב עושה זאת נהדר. אל תחששו משמות ארוכים, לפעמים שם פונקציה יעזור למפתחים אחרים להבין במהירות מה אתם התכוונתם ואם תחסכו, אתם תאלצו את אותו מפתח לעבור על הפונקציה ולהבין מה היא עושה, אם הפונקציה מקבלת פרמטרים, אנא רשמו בקצרה מה תפקידו של כל פרמטר, אם זה לא מספיק ברור כמובן, וכן אם הפונקציה שלכם עושה איזה חישוב מסובך ודורש הסברים אז תוסיפו קומנט מעל הפונקציה שמסביר קצת יותר כך שאותם מפתחים שירצו להשתמש בפונקציה שלכם יוכלו לקרוא 2 -3 משפטים ולדעת כיצד משתמשים בפונקציה ומה אי עושה בדיוק. אני יודע שלרשום קומנטים זה נורא ואיום אבל אתם לא מבינים כמה אתם יכולים לחסוך למערכת וכן להיות מוערכים מאד על ידי חברי הצוות האחרים. אם בכל זאת אתם מתקשים לרשום קומנטים, היעזרו ב copilot labs שיעשה את זה עבורכם, רק עברו אחריו וודאו שהוא אכן רשם דברים הגיוניים.

אפשר לראות בצד שמאל ש copilot labs נתן הסבר לא רע , אומנם הפונקציה לא באמת מעניינת אבל לצורך הדוגמה זה מפסיק אני מקווה, כמו כן ישנו כפתור נוסף למטה שנקרא document ולחיצה עליו תוסיף ישירות קומנט שמסביר את אותו קטע קוד.

עבודה עם טייפים

מאד ממליץ לעבוד עם טייפים בTS. התעקשו על כל משתנה והפונקציה שיהיה מוגדר היטב עם טייפ המתאים, השתדלו להימנע מטייפ ANY. כמו כן אם אתם מריצים לינטר אז לא תוכלו להתחמק מ ANY (תמיד אפשר להתחמק תלוי כמה אתם פדנטים עם הערות warning).

טסטים – test driven development

מודה כי אינני רגיל לחשוב בצורה זו (עדיין) יש מספר פרויקטים בודדים שמימשתי בהם unit tests והחשיבות של כך היא תלוי מיזם שבו תעבדו, מה שכן, לעבוד בשיטת TDD עושה חיים קלים לכתיבת טסטים, וגם מיישר את הקוד להפליא כשאתם חושבים על הבדיקה של הפונקציה בעודכם כותבים אותה.

סיכום קורס front end – שלבים הראשונים בלכתוב קוד כמו שצריך

פוסט ארוך יחסית. עם הרבה נקודות חשובות שיעזרו לכם לכתוב קוד תקין ומסודר. חלק מהשיטות לא יעבדו עבור כולם, אפילו עבורי, למשל TDD ברוב הפרויקטים שלי אני לא מייחס לזה חשיבות (לפחות נכון להיום) עבדתי על 3 פרויקטים בחיים שלי ששמנו דגש על unit test וזה היה דיי מדהים. אז תלוי אופי פרויקט. יאללה ממשיכים לפוסט הבא בוא נתקדם לתוך הכתיבה ונראה דוגמאות ספציפיות של קבצי פרויקט שהכנתי עבורכם.

בהצלחה 🐊😎

פוסטים קשורים:

frontend - מתכננים לפני כתיבת קודקורס front end – קיבלתם פיצ’ר, מזל טוב! מה עכשיו? ומאיפה להתחיל? קודם כל, מתכננים. קורס front-end - איך להתמודד ואף להצליח עם ה workflow של הארגוןקורס front-end – איך להתמודד ואף להצליח עם ה workflow של הארגון קורס front end חשיבות המקצוע והאני מאמין שליקורס front end – חשיבות המקצוע והאני מאמין שלי קורס front end – על קשיי העבודה בארגון, איך לבחור את המלחמות שלך
angular design system front-end אנגולר מדריך front-end מתכנת front-end מתכנת פרונט קורס front end

אודות המחבר

יאיר וינר להציג את כל הפוסטים של וינר יאיר


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד