I. Цел на настоящия документ



страница3/7
Дата08.06.2017
Размер385.9 Kb.
#23135
1   2   3   4   5   6   7

2.2.Данните в програмирането

2.2.1.Създаване на данни. Имена на променливите


        • За какво служат данните в програмирането? Как се дефинират и как се използват?

        • Какво представляват собствените типове данни? Каква е ползата от тях? Какви са препоръките при дефиниране на собствен тип данни?

        • Защо е важна инициализацията на променливите? Какви са препоръките относно инициализирането на променливите?

        • Какво означава променливата да има добро име? Какви са конкретните препоръки за имената на променливите? Какви са препоръките за имената на водещите променливи в циклите, за булевите променливи, за статус променливите, за временните променливи, за променливите от изброен тип, за глобалните, за локалните, за член-променливите, за константите?

        • Трябва ли да се избягват променливи с еднакви имена и различна видимост?

        • Колко дълги трябва да бъдат имената на променливите? Препоръчва ли се имената на променливите да се съкращават и как трябва да става това, ако се препоръчва?

        • Какви имена за променливите трябва да се избягват?

        • Какви са общоприетите правила за имената на променливите в съвременните езици за програмиране (C++, Java, C#)?

        • Какво представлява унгарската нотация и има ли полза от нея? Защо в силно-типизираните езици тя не е необходима?

2.2.2.Препоръки за правилното използване на променливите


        • Какви са основните правила за правилно използване на променливите?

        • Какви са препоръките за видимостта на променливите (variable scope)?

        • Трябва ли да се избягва използването на променливи без да се декларират предварително в езиците, които позволяват това? Защо?

        • Необходимо ли всяка променлива да се използва само за едно нещо?

        • Защо глобалните променливи се считат за вредни? Важи ли същото и за модулните променливи и член-променливите в класовете? Какви проблеми създават глобалните променливи? Как могат да се избягват глобалните променливи и проблемите, свързани с тях? Има ли връзка правилното използване на глобалните, модулните и член-променливите с нивата на абстракция в програмата?

        • Какво представляват “variable lifetime” и “span”? Каква е връзката между “scope”, “lifetime” и “span”? Какво се препоръчва в тези насоки?

2.2.3.Работа с фундаменталните типове данни


        • Какво е фундаментален тип данни?

        • Какви са препоръките за работа с числови данни в програмирането?

        • Какви са препоръките за работа с целочислени променливи? Как се избягват проблемите с препълването на целочислените типове?

        • Какви са препоръките за работа с реални числа? Как могат да се избягват грешките със закръглянето при работа с реални числа с плаваща запетая?

        • Какви са препоръките за работа със символни данни? Какви видове символни низове (стрингове) има? Какви са предимствата и недостатъците им? Какво трябва да знаем за символните низове при различните езици за програмиране (C, C++, Java, Pascal, C#)?

        • Какви са препоръките за работа с булеви променливи?

        • Какви са препоръките за работа с променливи от изброен тип?

        • Какви са препоръките за работа с именовани константи?

        • Какви са препоръките за работа с масиви?

        • Какви са препоръките за работа с указатели в езиците, в които се поддръжат? Може ли да се счита, че работата с указатели е опасна и трябва да се избягва? Лошо ли е да се използва директен достъп до паметта на ниско ниво посредством указатели? Защо такива техники, типични за езици от ниско и средно ниво (като Assembler и C) не са позволени в езиците от по-високо ниво като Java и C# (C# managed code)?

        • Какви са препоръките за работа с типизирани указатели (references) в езиците, в които се поддръжат? Защо те се считат за по-безопасни от обикновените указатели? Може ли да се твърди, че типизираните указатели са “указатели от високо ниво”, които са възникнали като резултат от еволюцията на обикновените указатели?

        • Какви са препоръките за работа с променливи от тип клас (обекти)? Какво трябва да знаем за жизнения цикъл на такива променливи. Какво общо имат конструктурите и деструктурите?

2.2.4.Сложни типове данни


        • Какви данни, освен фундаменталните, има в програмирането?

        • Кога трябва да се използват структури и записи? Какви са препоръките за правилното им използване?

        • Какво е сериализация на структура данни? Какви са препоръките при сериализиране и десериализиране на структури данни?

        • Какво представляват lookup-таблиците? Кога се използват? Каква е ползата от тях? Какви са препоръките за правилното им използване? Винаги ли може логиката от програмата да се трянсформира в данни чрез lookup-таблици? Колко вида търсене в lookup-таблица има? Какво е директен достъп? Какво е номериран достъп? Какво е индексиран достъп? Какво е трансформация на ключа за достъп? Какви данни могат да съдържат елементите на една lookup-таблиците?

        • Какво представляват абстрактните типове данни? Кога се използват? Каква е ползата от тях? Какви са препоръките за правилното им използване?

        • Какво представляват рекурсивните структури от данни? Кога се използват? Какво представляват динамичните структури от данни?

        • Какви видове контейнери за данни има в програмирането? Какво е списък? Какво е шаблонен списък? Какво е итератор? Какво е динамичен масив? Какво е стек? Какво е опашка? Какво е приоритетна опашка? Кога се използват тези структури от данни? Какви са препоръките за правилното им използване?

        • Какво представляват хеш-таблиците, за какво и кога се използват? Какви са препоръките за правилното им използване?

        • Какво е граф? Какво е дърво? Какви видове дървета има? За какво и кога се използват? Какво е XML и каква е връзката между този език за описание на данни и дърветата? Какви са препоръките за правилното използване на дървета?

        • Какво е файл? Какво е индексен файл? Какво са потоците от данни (streams)? Какви са препоръките при използване на тези структури от данни?


Сподели с приятели:
1   2   3   4   5   6   7




©obuch.info 2024
отнасят до администрацията

    Начална страница