Дұрыс емес код: Спагетти, Равиоли және Лазанья коды
Spaghetti code
Спагетти-код: нашарланған, күтімі қиын бағдарламалық код. Тұрақсыз талаптар, стильдің болмауы, тәжірибесіздік себеп болуы мүмкін. Бағдарламаны түсінбеуге әкеледі.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Нашар құрылымдалған бағдарламалық код. "Спагетти код" – құрылымсыз және күтуге қиын бағдарламалық кодты сипаттау үшін қолданылатын теріс мағынадағы сөз. Спагетти кодтың пайда болуына бірнеше фактор себеп болуы мүмкін, мысалы, жоба талаптарының тұрақсыздығы, бағдарламалау стилінің ережелерінің жоқтығы және жеткіліксіз білімі немесе тәжірибесі бар бағдарламашылар.
Software source code with poor structure
Spaghetti code is a pejorative phrase for unstructured and difficult to maintain source code. Spaghetti code can be caused by several factors, such as volatile project requirements, lack of programming style rules, and software engineers with insufficient ability or experience.
Мағынасы
Құрылымдық бағдарламалау құрылымдарының орнына GOTO операторларын тым көп пайдаланатын, нәтижесінде түсініксіз және қолдауға қиын бағдарламалар тудыратын кодты көбінесе "спагетти код" деп атайды. Мұндай кодтың күрделі және араласып кеткен басқару құрылымы болады, нәтижесінде бағдарламаның ағыны тұжырымдамалық тұрғыдан шпагетти табағы сияқты, бұралып, түйіліп жатады. 1980 жылы АҚШ Ұлттық Стандарттар бюросының жарияланымда "бөлшектенген және шашыраңқы файлдарға" ие ескі бағдарламаларды сипаттау үшін "спагетти бағдарламасы" деген сөз қолданылды. "Спагетти код" объектіге бағытталған кодтың процедуралық стильде жазылған анти-үлгісін де сипаттауы мүмкін, мысалы, тым ұзын және түсініксіз әдістері бар сыныптар құру немесе полиморфизм сияқты объектіге бағытталған ұғымдардан бас тарту. Мұндай "спагетти кодтың" болуы жүйенің түсініктілігін едәуір төмендетуі мүмкін.
Code that overuses GOTO statements rather than structured programming constructs, resulting in convoluted and unmaintainable programs, is often called spaghetti code. Such code has a complex and tangled control structure, resulting in a program flow that is conceptually like a bowl of spaghetti, twisted and tangled. In a 1980 publication by the United States National Bureau of Standards, the phrase spaghetti program was used to describe older programs having "fragmented and scattered files". Spaghetti code can also describe an anti pattern in which object oriented code is written in a procedural style, such as by creating classes whose methods are overly long and messy, or forsaking object oriented concepts like polymorphism. The presence of this form of spaghetti code can significantly reduce the comprehensibility of a system.
Равиоли коды
Равиоли коды — объектіге бағытталған бағдарламалауға тән термин. Ол жеке-жеке қарағанда түсінілуі оңай, бірақ тұтастай алғанда түсінігі қиын, жақсы құрылымдалған сыныптардан тұратын кодты сипаттайды.
Ravioli code is a term specific to object oriented programming. It describes code that comprises well structured classes that are easy to understand in isolation, but difficult to understand as a whole.
Лазанья коды
Лазанья коды – қабаттары өте күрделі және бір-бірімен тығыз байланысқан, сондықтан бір қабатты өзгерту барлық басқа қабаттарда да өзгерістер енгізуді талап ететін код.
Lasagna code refers to code whose layers are so complicated and intertwined that making a change in one layer would necessitate changes in all other layers.