ПредишенСледващото

унгарската нотация

Унгарската нотация - конвенцията за именуване на променливи, константи, както и идентификатори в кода си програми.

Различията на система на Унгария и унгарския за приложения

В унгарски специфични префикси като "IX" за означаване на индекса на масива, "в" за броячи, "D" за разликата между две числа (например, "DX" означава "ширина") се определят за прилагане и т.н. , Унгарското система е далеч по-малко полезни представки като "L" за дълго цяло число (дълга), "ул" да неподписан дълго цяло число (неподписан дълго), и "Дойче веле" за двойна дума (двойна дума). който в действителност е неподписан дълго число и т.н. В Systems унгарски само нещо, което каза, че префикс всъщност е само от типа на променливата. Т.е. ние виждаме, че разликата по принцип, въпреки че идеята за добавяне на повече информация за променливата с префикса на системата е една и съща.

Много програмисти извън Microsoft приемат това споразумение или друга подобна схема за генериране на имена на идентификатори. Може би един от решаващите фактори на застъпва унгарската нотация е една книга, която четеше почти всеки програмист се интересува от Windows: "Windows programmin" Чарлз Петзолд. В това споразумение книгата използва за Примери и бележки и е описана накратко в първата глава. Същността на унгарската нотация е да се гарантира, че имената на идентификатора, предшествано от предварително договорената представки, състоящи се от един или повече символа. В същото време, като правило, нито присъствието на представки или писмено тях не са изискване на езици за програмиране.

Тук е обобщена таблица на унгарските нотация представките (системен).

Разбира се, всеки програмист (или екип от програмисти) може да бъде себе си, но въпросът не е да се измисли велосипед, той е по-мъдро разбира просто частично модифициране на набор от правила, които да отговарят на техните нужди и цели, оставяйки по-голямата част непроменен по време.

В по-широк смисъл, унгарската нотация може да се използва дори и в езици, които нямат типове променливи, например при работа с данни, с помощта на представки е възможно да се направи разграничение между, да речем променливи, съдържащи вътрешни, проверени данни и данните, въведени от потребителя или други външни, по отношение на вашата система (програма ), за да се избегне грешка при критично несъответствие и да направи програмата по-малко уязвими от гледна точка на сигурността.

Пример.
Променливите са външни ще започва с нас (опасен не е безопасно), тогава нека да кажем, че имаме името на променливата е:
UserName - потребителско име на (система за нашите данни);
USERINFO - потребителска информация (данни на нашата система);
usUserName - потребителско име (на данни);
usUserInfo - информация за потребителя (на данни);

Въпреки разпространението на унгарската нотация, има програмисти, които се смята не само безполезни, но и вредни, се намесва и объркващо. Като потвърждение на мнението му даде по следните причини:
1) Всеки допълнителна информация обърква потребителя объркани;
2) Проблеми Сменя имената на променливите, като промените вида им;
3) липса на контрол;
4) загуба на време, тъй има оцветяване на синтаксиса;
5) Microsoft е изявление, че "Унгарската нотация не се препоръчва;
6) "надписване тип променлива в своята име (т.нар унгарската нотация) е дефектен - компилаторът вече знае видовете и да ги проверим. "(Според някои думи на Линус Торвалдс, враг на унгарската нотация);

1) В интерес на навик, ако прочетете "смисъла" на програмата, аз просто не изглеждат в префиксите, ако аз трябва да знам типа или провери коректността на видове Очаквам с префикс;
2), ако искате да промените типа на една променлива, то това е ясно грешка, направена при proetirovanii и в такива случаи се пренаписва кода, и второ аз бих казал, че той е съставен от един единствен случай (момчетата имат предвид промяна на типа вътр за дълго или друг тип цяло число, а след това ще трябва да промени името променлива се каже с iSize на lSize) и това, което ще направя, ако типа на променливата с дълъг промяна да се удвои? Вие ще има голяма полза от факта, че една променлива, наречена Размер и не lSize? и че няма да се определят всички сравнения на променлива? аритметика? промяна на типа на променливите, използвани за съхранение на резултатите от изчисленията, използвайки тази променлива?

например в кода има парче
дълги lRes;
lRes = lSize 1;
IF (lRes> 0)

3) унгарска нотация, ако е предназначена да контролира само от страна на програмиста;
помислете примера на запис без нотация

като всичко е ОК, компилаторът не се кълнат и само пиша, когато той е знаел, че променливата PARAM1 на DWORD
съвсем различна реакция ще бъде, ако използвате нотация и видите кода
INT IRES;

IRES = (междинно съединение) dwParam1;
вие казвате как така вътр променлива се определя на данни на DWORD стойност може да се загуби? и вече се обърне внимание на кода и не може да се определи тривиална грешка, която може да възникне рядко, и поради това, че се намери и да открият в една сложна система е проблематично.

4) Оцветяване на синтаксиса е добре, но има няколко, и една шепа, но ако;
обичам себе си такива неща, но прости и да raskazhite каже къде в Microsoft Visual Studio, за да персонализирате осветлението за булев, вътр, дълги и т.н. осветление цвят? и, когато е създадена през стандартната "бележника", тъй като Да кажем, че не разполагате с студио и аз използвам "преносим компютър" и командния ред за съставяне? И ако седне на компютъра си с някой друг напълно различен персонализирани оцветяване на синтаксиса? И ако аз съм далтонисти и за мен 30% от цветове (цветове) изглеждат абсолютно еднакви? И ако аз мога да различа примерния код в книгата или на страницата на сайта, в които няма средства, за да маркирате? и т.н. и т.н.
5) Microsoft е фактът, бяха има основателни причини за въвеждането на нови технологии в програмирането, като "управляван код" за използването на които, ако наистина е възможно priderzhivatsya нотация putatsya и обърка другия, ако използвате нотацията навсякъде;
6) се приписват повече за изразяване на vyrvanomu контекст (въпреки че може да бъде) .;

И така. за себе си, виждам някои предимства и малък недостатък е, че едни и същи 1-5 префикс знаци трябва да бъдат набрани. Хората, които не се използват (умишлено, без да са врагове) Унгарски нотация Подигравките прекалено, дори не се замислят за това, което те са егоисти, че не може да помогне :) Всеки решава какво да се използва и какво не, но не бива да забравяме, че през последните години, за да напише нещо хубаво, за да е много трудно и дълго, и рано или късно ще трябва да работят в екип, който има своя собствена споразумение и трябва да се съобразяват, разбира се, ако се програмиране професионално, но не и за свободното време.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!