הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   מדריך JS כתיבה אנושית (https://hosts.co.il/forums/showthread.php?t=92062)

morsrh 08-09-11 19:43

מדריך JS כתיבה אנושית
 
אהלן , הכנתי פה מדריך ל JS שמראה איך לכתוב פונקצייה שכותבת כמו שבן אדם כותב
http://www.youtube.com/watch?v=4_eel7EFsRQ

בברכה , מור.

morsrh 08-09-11 21:47

הסרטון הראשון היה ארוך מדי , לכן הנה קיצור שלו :
http://www.youtube.com/watch?v=MikXCLWkSPs
אם מנהל יכול לעדכן את ההודעה למעלה זה יהיה מעולה , תודה.

Skfir 09-09-11 10:56

בזבוז זמן לדעתי לצפות בזה, כל אחד כותב איך שבא לו זה לא משהו שיכול לעזור לנו זה סתם מראה איך בנאדם כותב בעל פה זה הכל :\

morsrh 09-09-11 13:26

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

link 10-09-11 12:19

היו שתי דברים שעצבנו אותי ובגלל זה הפסקתי מיד:
1. שמת את התגיות script בתוך הbody ולא בתוך הhead.
2. את הif הראשון שכתבת כתבת בלי סוגריים מסולסלים, שזה בכלל עצבן אותי כי זאת עצלנות אמיתית לעשות if בלי סוגריים מסולסלים ועוד יותר לא להשים את התוצאה בשורה חדשה.

Itay 10-09-11 12:55

ציטוט:

נכתב במקור על ידי link (פרסם 818317)
היו שתי דברים שעצבנו אותי ובגלל זה הפסקתי מיד:
1. שמת את התגיות script בתוך הbody ולא בתוך הhead.
2. את הif הראשון שכתבת כתבת בלי סוגריים מסולסלים, שזה בכלל עצבן אותי כי זאת עצלנות אמיתית לעשות if בלי סוגריים מסולסלים ועוד יותר לא להשים את התוצאה בשורה חדשה.

מצטער להגיד לך, אבל הדברים שמעצבנים אותך הם טיפה מפגרים - ומדובר באיך שכל בנאדם כותב, אין שום דבר קבוע.

מה הבעיה בלכתוב את ה-script בתוך ה-body? אם אתה כותב בתוך מערכת סקריפטים שקשורים למה שבא אחריהם, למה שתכניס אותם לתוך ה-head? (לא המקרה הזה - אבל אין שום בעיה עם זה באמת)

ובקשר ל-if הראשון, למה שישים סוגריים מסולסלים אם יש רק פקודה אחת מתחת, ועוד שהיא return בלי כלום? אם יש לך פקודה אחת אבל עם הרבה שורות שבאמת יכול להיות בלאגן להבין איפה היא נגמרת, אז שים סוגריים מסולסלים (שוב - עניין של כל מתכנת ואיך שהוא אוהב), אבל בשביל מילה הוא ישים סוגריים?
ואותו דבר - למה לרשום בשורה חדשה רק את ה-return הזה? תסתכל פעם על הקוד של jquery לדוגמא (הגרסא המינימלית כמובן) - למה לא הכל בשורות נפרדות ומסודר? זה שוקל יותר, לוקח לזה יותר זמן להטען - בגלל זה גם אתה כשאתה כותב, תשתדל לחסוך ברווחים מיותרים איפה שלא צריך אותם

link 10-09-11 13:40

ציטוט:

נכתב במקור על ידי Itay (פרסם 818321)
מצטער להגיד לך, אבל הדברים שמעצבנים אותך הם טיפה מפגרים - ומדובר באיך שכל בנאדם כותב, אין שום דבר קבוע.

מה הבעיה בלכתוב את ה-script בתוך ה-body? אם אתה כותב בתוך מערכת סקריפטים שקשורים למה שבא אחריהם, למה שתכניס אותם לתוך ה-head? (לא המקרה הזה - אבל אין שום בעיה עם זה באמת)

ובקשר ל-if הראשון, למה שישים סוגריים מסולסלים אם יש רק פקודה אחת מתחת, ועוד שהיא return בלי כלום? אם יש לך פקודה אחת אבל עם הרבה שורות שבאמת יכול להיות בלאגן להבין איפה היא נגמרת, אז שים סוגריים מסולסלים (שוב - עניין של כל מתכנת ואיך שהוא אוהב), אבל בשביל מילה הוא ישים סוגריים?
ואותו דבר - למה לרשום בשורה חדשה רק את ה-return הזה? תסתכל פעם על הקוד של jquery לדוגמא (הגרסא המינימלית כמובן) - למה לא הכל בשורות נפרדות ומסודר? זה שוקל יותר, לוקח לזה יותר זמן להטען - בגלל זה גם אתה כשאתה כותב, תשתדל לחסוך ברווחים מיותרים איפה שלא צריך אותם

בקשר לhead זה די עניין של כתיבה נכונה, אני מסתכל על כמו שבן אומר שלוש שבועות ולא שלושה שבועות. אם בן אדם לומד שהוא יכול לשים סקריפט בתוך body לפני האזור של הפעולה, במקרה הזה DIV, אז זה לא ימנע ממנו להשים את אותו הדבר על div אחרים. עכשיו אני לא מדבר באופן עקבי באותו הקובץ אלא בכל מיני מקומות ראנדומלים בקבצים אחרים. וכל זה בגלל שהוא אומר "אהה, זה רק DIV אחד, אני יכול לשים פה איזה תגית script".

ואם כבר עושים return של שורה אחת, למה לא לעשות תנאי(או if מקוצר) שהולך ככה:
return 1 == 1 ? TRUE : FALSE;
ניתן לך דוגמא, במקרה הזה הוא עשה אך ורק return, עוד שבועיים הוא יצטרך להשים שם עוד שתי פקודות.

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

Itay 10-09-11 17:24

אז אם אתה מדבר על כתיבה נכונה, אין מילה כזאת "להשים" - יש מילה לשים
ואין שום בעיה לשים סקריפט בתוך ה-body, לא בגלל עניין של כתיבה נכונה - בגלל עניין של אין סיבה. הסקריפט צריך להופיע לפני מה שקורא לו, אם אתה קורא לו ב-onload של העמוד - רצוי שזה יופיע ב-head, אם לא - זה לא באמת משנה איפה

למה הוא לא עשה return כמו שאתה אומר? כי זה לא השימוש של ה-return הזה - השימוש פה הוא למנוע את המשך הריצה של הפונקציה כבר בהתחלה, זה נכון לכל שפת תכנות. כמו שתרשום כשאתה שולף ערכים מבסיס נתונים לפי ID שאתה מקבל מהכתובת בבדיקה שלך את התנאי שאם ה-ID הוא לא מספר אחרי שכבר שלפת וביצעת את כל הפעולות (ובעצם כבר מישו בא וביצע SQL INJECTION לקוד שלך). זה פשוט לא עובד ככה.
אם ה-ID הוא לא מספר אז אתה מפסיק את המשך הפעולה, באותה מידה במקרה הזה - אם התוכן שנשאר ריק - אתה מפסיק את המשך הפעולה

ושוב, כל אחד והנוחות שלו - אין דבר כזה מגמה של לכתוב פה או שם, אם אתה משתמש באותה פונקציית JS בכמה מקומות באתר, נראה לי חבל לרשום אותה בכמה מקומות במקום בקובץ אחד שאתה עושה לו כמו "אינקלוד" עם תאגית HTML, אם לא - תרשום באותו קובץ, אין עם זה שום דבר לא נכון

IgalSt 10-09-11 17:24

אני יכול להסכים לגבי ה-HEAD.

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

כמו כן התנאי המקוצר נראה לי מבלבל מדיי ולוקח כמה רגעים להבין למה כוונת המתכנת. מה גם שבהכרח הפונקציה תמיד תחזיר true/false שזו ממש לא היית הכוונה שלה.


כל הזמנים הם GMT +2. הזמן כעת הוא 07:13.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ