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

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

Second 09-12-10 19:34

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

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

מן הסתם צריך לתעד הכל, ככה עובדים בחברות גדולות שיש שילוב של מתכנתים רבים.
בשורה התחתונה - סדר וארגון זה דבר הכרחי. אבל - מה השיטה הכי טובה לארגון?

BlueNosE 09-12-10 19:39

שומר כל מקבץ פונקציות בעמוד ייעודי. שומר כל מחלקה בעמוד ייעודי. את כל הספריה שומר בתוך sources ושם יש לי - לדוגמא - functions.text.php, class.database.php וכו'.

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

Hagaibl 09-12-10 20:47

רושם לכל קובץ כותרת בדיוק מה הוא מכיל(בתוך הערה בתוך הקובץ)
מחלק לתיקיות חכמות.
רושם לי במסמך טקסט את התוכן של כל תיקיה ומה היא עושה.

IgalSt 09-12-10 20:48

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

i++; //increase the index by 1
נעות בין מיותר למבלבל.

לדעתי חשוב לכתוב הערות בקטעי קוד שלדעתך אתה או מתכנת אחר (שמכיר את המערכת) יסתכל ויתקשה להבין במה מדובר.
לדוגמא בתנאי מורכב בכל אחד מה-else if שלו אני אוהב לכתוב חצי משפט שמסביר מה נכנס לתנאי הזה.
בהגדרת משתנים גם מאוד מומלץ לכתוב הסבר קטן של מה שהמשתנה יכיל.
יש כאלה שאוהבים לקבוע שמות למשתנה, פונקציות, קלאסים, IDs וכו' עם תחילת מסיימת.
לדוגמא var iUserId על מנת לציין שמדובר ב-integer או id="btnAddNew" בכפתור שמבצע פעולה מסויימת.

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


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

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