![]() |
מדריך JS כתיבה אנושית
אהלן , הכנתי פה מדריך ל JS שמראה איך לכתוב פונקצייה שכותבת כמו שבן אדם כותב
http://www.youtube.com/watch?v=4_eel7EFsRQ בברכה , מור. |
הסרטון הראשון היה ארוך מדי , לכן הנה קיצור שלו :
http://www.youtube.com/watch?v=MikXCLWkSPs אם מנהל יכול לעדכן את ההודעה למעלה זה יהיה מעולה , תודה. |
בזבוז זמן לדעתי לצפות בזה, כל אחד כותב איך שבא לו זה לא משהו שיכול לעזור לנו זה סתם מראה איך בנאדם כותב בעל פה זה הכל :\
|
נכון שאי אפשר לקרוא לזה מדריך אבל
הקהל יעד פה זה לא אנשים שיודעים איך לעשות דברים כאלה אלה לאנשים שמתחילים בתחום ולא יודעים זה יותר הצגה של איך שעושים |
היו שתי דברים שעצבנו אותי ובגלל זה הפסקתי מיד:
1. שמת את התגיות script בתוך הbody ולא בתוך הhead. 2. את הif הראשון שכתבת כתבת בלי סוגריים מסולסלים, שזה בכלל עצבן אותי כי זאת עצלנות אמיתית לעשות if בלי סוגריים מסולסלים ועוד יותר לא להשים את התוצאה בשורה חדשה. |
ציטוט:
מה הבעיה בלכתוב את ה-script בתוך ה-body? אם אתה כותב בתוך מערכת סקריפטים שקשורים למה שבא אחריהם, למה שתכניס אותם לתוך ה-head? (לא המקרה הזה - אבל אין שום בעיה עם זה באמת) ובקשר ל-if הראשון, למה שישים סוגריים מסולסלים אם יש רק פקודה אחת מתחת, ועוד שהיא return בלי כלום? אם יש לך פקודה אחת אבל עם הרבה שורות שבאמת יכול להיות בלאגן להבין איפה היא נגמרת, אז שים סוגריים מסולסלים (שוב - עניין של כל מתכנת ואיך שהוא אוהב), אבל בשביל מילה הוא ישים סוגריים? ואותו דבר - למה לרשום בשורה חדשה רק את ה-return הזה? תסתכל פעם על הקוד של jquery לדוגמא (הגרסא המינימלית כמובן) - למה לא הכל בשורות נפרדות ומסודר? זה שוקל יותר, לוקח לזה יותר זמן להטען - בגלל זה גם אתה כשאתה כותב, תשתדל לחסוך ברווחים מיותרים איפה שלא צריך אותם |
ציטוט:
ואם כבר עושים return של שורה אחת, למה לא לעשות תנאי(או if מקוצר) שהולך ככה: return 1 == 1 ? TRUE : FALSE; ניתן לך דוגמא, במקרה הזה הוא עשה אך ורק return, עוד שבועיים הוא יצטרך להשים שם עוד שתי פקודות. והיום אני חושב שהמגמה לכתוב פקודות JS בתוך קבצים נפרדים ולקשר אותם עם תגית HTML |
אז אם אתה מדבר על כתיבה נכונה, אין מילה כזאת "להשים" - יש מילה לשים
ואין שום בעיה לשים סקריפט בתוך ה-body, לא בגלל עניין של כתיבה נכונה - בגלל עניין של אין סיבה. הסקריפט צריך להופיע לפני מה שקורא לו, אם אתה קורא לו ב-onload של העמוד - רצוי שזה יופיע ב-head, אם לא - זה לא באמת משנה איפה למה הוא לא עשה return כמו שאתה אומר? כי זה לא השימוש של ה-return הזה - השימוש פה הוא למנוע את המשך הריצה של הפונקציה כבר בהתחלה, זה נכון לכל שפת תכנות. כמו שתרשום כשאתה שולף ערכים מבסיס נתונים לפי ID שאתה מקבל מהכתובת בבדיקה שלך את התנאי שאם ה-ID הוא לא מספר אחרי שכבר שלפת וביצעת את כל הפעולות (ובעצם כבר מישו בא וביצע SQL INJECTION לקוד שלך). זה פשוט לא עובד ככה. אם ה-ID הוא לא מספר אז אתה מפסיק את המשך הפעולה, באותה מידה במקרה הזה - אם התוכן שנשאר ריק - אתה מפסיק את המשך הפעולה ושוב, כל אחד והנוחות שלו - אין דבר כזה מגמה של לכתוב פה או שם, אם אתה משתמש באותה פונקציית JS בכמה מקומות באתר, נראה לי חבל לרשום אותה בכמה מקומות במקום בקובץ אחד שאתה עושה לו כמו "אינקלוד" עם תאגית HTML, אם לא - תרשום באותו קובץ, אין עם זה שום דבר לא נכון |
אני יכול להסכים לגבי ה-HEAD.
עם זאת, אני אישית לא נוהג לפתוח סוגרים מסולסלות כאשר יש לי פקודה אחת בלבד. כמו כן כמעט תמיד אני אכתוב את הפקודה הזאת באותה השורה. מעדיף לא "לבזבז" שורות ולראות כמה שיותר קוד במסך. אבל זו ממש ממש ממש לא טעות לעשות ככה או אחרת. כך שאם זה לא צריך לעצבן אותך. זה סגנון תכנות. זה כמו שתגיד שמעצבן אותך משתנים בגנון של this_is_something בעוד שאתה מעדיף thisIsSomething. הקווים המנחים של jQuery כן מורים על פתיחה וסגירה של סוגרים מסולסלות בכל תנאי וירידת שורה. עם זאת, זו ההחלטה שהם קיבלו על מנת להגיע לקוד אחיד. כמו כן התנאי המקוצר נראה לי מבלבל מדיי ולוקח כמה רגעים להבין למה כוונת המתכנת. מה גם שבהכרח הפונקציה תמיד תחזיר true/false שזו ממש לא היית הכוונה שלה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 07:13. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ