מה קורה אם מעתיקים קוד מהאינטרנט - האם זו רמאות¶
מתחילים רבים מרגישים אשמה מוזרה כשהם מוצאים את עצמם, אחרי חצי שעה של תקיעות, מחפשים בגוגל את הודעת השגיאה שלהם ומעתיקים פתרון מפורום כלשהו. מרגיש כאילו רימו במבחן. בואו נשים את התחושה הזאת במקום הנכון, כי היא כמעט תמיד לא מוצדקת.
מה מתכנתים באמת עושים כל היום¶
כל מתכנת, כולל הבכירים ביותר בתעשייה, מחפש קוד ופתרונות באינטרנט כל יום. זה לא סוד מביך, זו פשוט איך שהמקצוע עובד. אף אחד לא זוכר בעל פה את כל התחביר של כל פונקציה בכל ספרייה. חיפוש "how to sort a list in python" זו לא רמאות, זה בדיוק כמו טבח שמסתכל במתכון במקום לזכור אותו מהראש. הכלי הזה קיים כדי לשמש אתכם, לא כדי שתרגישו רע על השימוש בו.
אז איפה בכל זאת יש בעיה¶
הבעיה לא בהעתקה עצמה, אלא במה שקורה אחריה. אם אתם מעתיקים קוד, מדביקים אותו, הוא עובד, ואתם עוברים הלאה בלי להבין למה הוא עובד - זו הבעיה. לא כי זו "רמאות" במובן המוסרי, אלא כי החלטתם לוותר על ההזדמנות ללמוד משהו. בפעם הבאה שתיתקלו בבעיה דומה, לא תדעו לפתור אותה לבד, כי מעולם לא באמת הבנתם את הפתרון הראשון.
זה שונה מהותית מהעתקה כדי ללמוד. אם אתם מעתיקים קוד, ואז יושבים לקרוא שורה שורה עד שאתם מבינים מה כל חלק עושה, ואולי אפילו משנים אותו קצת כדי לבדוק שהבנתם נכון - זו למידה לגיטימית לחלוטין, לא רמאות.
הכלל הפשוט שמפריד בין השניים¶
תשאלו את עצמכם שאלה אחת אחרי כל העתקה - "האם אני יכול לכתוב את זה שוב מאפס בעוד שבוע, בלי לחפש שוב?" אם התשובה כן, הבנתם מספיק. אם התשובה לא, עצרו רגע לפני שאתם ממשיכים הלאה, וודאו שאתם מבינים לפחות את ההיגיון הכללי מאחורי הפתרון, גם אם לא כל פרט תחבירי קטן.
מתי כדאי דווקא להימנע מהעתקה¶
בתרגילים ובפרויקטים שנועדו ללמד אתכם משהו ספציפי, יש ערך גדול בלנסות לפתור לבד קודם, גם אם זה כואב ולוקח זמן. המאבק הזה, לפני שבודקים תשובה, הוא בדיוק מה שבונה את החשיבה שלכם כמתכנתים. אבל אחרי שהתאמצתם באמת ותקעתם - אין שום סיבה לא לחפש עזרה. תקיעות ממושכת בלי התקדמות לא מלמדת יותר, היא רק מתסכלת.
איך זה נראה בעבודה אמיתית¶
בעבודה בהייטק, חיפוש פתרונות באינטרנט, שימוש בקוד קיים מפרויקטים אחרים, ואפילו העתקה בין חברי צוות באישור, הם חלק שגרתי מהיום יום. מה שכן חשוב שם זה להבין את הקוד שאתם מכניסים למערכת שלכם, כי אתם אחראים עליו ברגע שהוא נכנס. זו בדיוק אותה עקרון שכדאי להתרגל אליו כבר מהיום הראשון - לא "לא להעתיק", אלא "להבין את מה שמעתיקים".
קורס התכנות הבסיסי שלנו בנוי כך שאתם מתרגלים לפתור לבד קודם, אבל בלי שום בושה בחיפוש עזרה כשצריך - כי זה בדיוק מה שיקרה גם בעבודה האמיתית שלכם בעתיד.
לסיכום¶
העתקת קוד מהאינטרנט היא לא רמאות, היא כלי יומיומי בעבודה של כל מתכנת. הרמאות היחידה האמיתית היא כלפי עצמכם - כשאתם מעתיקים בלי להבין ומוותרים על ההזדמנות ללמוד. תחפשו בלי בושה, אבל תוודאו שאתם מבינים את מה שאתם מדביקים.
יש לכם קטע קוד שאתם לא מבינים? הצטרפו לקהילה בדיסקורד ותשאלו, יש שם אנשים שישמחו להסביר.