Кіріспе

Lint – компьютерлік ғылым термині, статикалық кодты талдау құралы, бағдарламалау қателерін, құжаттамалық қателерді, стильдік қателерді және күдікті конструкцияларды анықтауға арналған. Бұл термин C тілінің бастапқы кодын тексеруге арналған Unix құралынан шыққан. Осындай функцияны орындайтын бағдарлама "linter" деп те аталады.

Тарих

Стивен К. Джонсон, Bell Labs-тің компьютер ғалымы, 1978 жылы C үшін жазған yacc грамматикасын түзету кезінде және Unix-ті 32 биттік машинаға көшіруден туындаған үйлесімділік мәселелерімен күрескенде "lint" терминін ойлап тапты.

Шолу

1978 жылғы түпнұсқа мақаласында Джонсон қателерді анықтау үшін жеке бағдарлама жасау себебін былай түсіндірді: "екі бағдарламаның болуы – жақсы идея" [өйткені олар әртүрлі нәрселерге назар аударады, соның арқасында бағдарламашы] "бағдарламалау процесінің бір кезеңінде тек алгоритмдерге, дерек құрылымдарына және бағдарламаның дұрыстығына толыққанды назар аударуға, ал кейін lint көмегімен, қажетті әмбебаптық және тасымалдану қасиеттерін қосуға мүмкіндік алады". Lint сияқты құралдар, әсіресе JavaScript және Python сияқты динамикалық типтегі тілдер үшін өте пайдалы. Мұндай тілдердің интерпретаторлары әдетте орындалу кезінде көптеген және қатаң ережелерді күшпен жүзеге асырмайды, сондықтан linter құралдарын жалпы қателерді (мысалы, синтаксистік қателер) табу үшін қарапайым жөндеуші ретінде, сондай-ақ heisenbugs сияқты анықтау қиын жағдайларды табу үшін (күдікті кодты "мүмкін қателер" деп белгілеу арқылы) пайдалануға болады. Lint сияқты құралдар көбінесе бастапқы кодты статикалық талдаудан өткізеді. Бағдарламалық жасақтаманы әзірлеудің басқа да салалары үшін де lint сияқты құралдар жасалған: берілген тілдің бастапқы коды үшін грамматика және стильлік талаптарды сақтау. Кейбір құралдар (мысалы, Eslint) ережелерді автоматты түрде түзетуге мүмкіндік береді: ереже туралы ақпарат ереже бұдан былай тудырмайтын өзгертулерді анықтаумен бірге келуі мүмкін. Стиль туралы ережелер әсіресе автоматты түзетумен бірге келеді. Егер linter файлда "барлық түзетулерді қолдану" режимінде іске қосылса және тек форматтау туралы ережелерді тудырса, linter форматтаушы сияқты жұмыс істейді.