לינט
לינט או לינטר (באנגלית: lint או linter) הוא מושג בעולם התוכנה שמתאר כלי תוכנה המנתחים קוד מקור כדי לסמן שגיאות בתוכנה, באגים, שגיאות סגנון ועיצוב ומבנים "חשודים" [1]. "lint" פירושו המילולי באנגלית הוא סיבים ולכלוך האחוזים בצמר, ולכן המונח לינטר בהקשר של תוכנה מרמז על פעולות ניקוי וייעול הקוד.
מקור המונח בתוכנת שירות (utility) של UNIX לבחינת קוד בשפת C. [2]
תאור ושימושים
האנליזה שמבצעים כלים כמו לינטר ודומיו, מבוצעת גם באופטימיזציה של מהדרים, אשר מטרתם ייצור קוד מהיר יותר.
בפרסום המקורי שלו בשנת 1978, ג'ונסון התייחס לנושא זה והסיק כי עדיף באופן כללי שיהיו שתי גרסאות של הקוד. אחת המאפשרת למתכנת להתרכז באלגוריתמים, מבני נתונים ו"נכונות" הקוד, והשנייה שתעשה "לינטינג" של ההתאמות הרצויות מבחינת תאימות, ניידות קוד, אוניברסליות וייעול.
למרות שהתפתחות מהדרים מודרניים הטמיעה בהם תכונות רבות של לינטרים, גם כלי לינט התפתחו והתרחבו לזיהוי וטיפול במגוון גדול של מבני חשודים של קוד, כולל אזהרות על שגיאות סינטקס, שימוש במשתנים לא מוגדרים או לא מאותחלים, קריאה לפונקציות שאינן מומלצות לשימוש עוד, סטייה מנורמות עיצוב קוד מבחינת ריווח ופורמט, מעבר מרומז (implicit fallthrough) בין אפשרויות בהצהרות switch, חוסר ב header המכיל רשיון מתאים ושימוש בתכונות "מסוכנות" של קוד[3].
תוכנת לינט או תוסף לינטי לסביבות פיתוח (כמו ויז'ואל סטודיו קוד), יעילים במיוחד לשפות שעוברות הידור בזמן ריצה (interpreted language) כמו פייתון וJavaScript (שהן, נכון ל-2018, שפות התכנות במקום הראשון והשני במדד פופולריות של שפות תכנות). זאת משום ששפות אלו נטולות הידור בזמן כתיבת הקוד טרם הרצתו. כלים אלו יכולים לשמש מכלים פשוטים לניפוי שגיאות סטנדרטי ועד איתור קוד החשוד ביצירת הייזנבאגים. כלים אלו מבצעים בדרך כלל אנליזה סטטית של קוד (static code analysis)[4].
לקריאה נוספת
- Darwin, Ian F. (1991). Checking C Programs with Lint: C Programming Utility (Revised ed.). United States: O'Reilly Media. ISBN 978-0937175309.
- "LINT(1)". FreeBSD General Commands Manual. 2015-03-23.
הערות שוליים
- ^ "About SublimeLinter — SublimeLinter 3.4.24 documentation". www.sublimelinter.com.
- ^ Johnson, Stephen C. (25 באוקטובר 1978). "Lint, a C Program Checker". pp. 78–1273 – via CiteSeer.
{{cite web}}
: (עזרה) - ^ "Arcanist User Guide: Lint". Phabricator. נבדק ב-19 בינואר 2018.
{{cite web}}
: (עזרה) - ^ Jones, Nigel (1 במאי 2002). "How to Use Lint for Static Code Analysis". Barr Group.
{{cite news}}
: (עזרה)