[HQC]Exam Guidelines


8

Тук мисля да изложа план за действие, който да е полезен на изпита. Моля ако имате идеи или забележки, независимо за какво, да ги споделяте :)
1. Прочиташ условието и го правиш докато не го разбереш.
1.1 Важно е да разбереш как работи системата на теория
1.2 Да знаеш какво ще се иска по-късно от теб (Както добавянето на Lenovo на подготовката)
1.3 Да видиш какви design patterns ще трябва да ползваш и ако не си запознат добре с тях, тегли презентацията и демото и се запознай
2. Отваряш решението и го компилираш (с цел да знаеш, че започваш начисто)
2.1. Ако има compilation errors ги оправяш, ако има забелешки (warnings) ги оставяш, освен ако не си 100% сигурен какво правиш
3. Ако има слети файлове, а то най-вероятно ще има, ги разделяш.
3.1 Отново подкарваш проекта да работи !
4. Когато вече си разделил файловете и всичко работи оправяш stylecop грешките. Така всяка следваща грешка ще бъде твоя, а ако имаш малко повече трейнинг може въобще да не допуснеш следваща.
5. Проверяваш, кое ще ти е най-лесно да намериш. Дали ще е bottlenecks, ако има такива или ще са бъгове или разни ненужни имплементации, зависи изцяло от индивида.
5.1. Евентуално оправяш проблема.
6. Ако вече не си се запознал с кода, го правиш. Виждаш кое от къде минава и какво прави.
7. Захващаш design pattern-и, абстракции, интерфейси и т.н. По избор е естествено, но е хубаво тези неща да се вършат, когато знаеш какво правиш.
7.1. Обмисляй какво вършиш. Прецени дали там където ровичкаш ти трябва интерфейс или абстрактен клас.
8. Провери условието. Бъди сигурен, че си направил нещата, че не си ги развалил докато имплементираш друга логика и чети внимателно
9. ??
10. Profit
Side notes:
 * Локалното репо, което Ники показа на подготовката не е никак лоша идея. По време на brainstorm-а може да се прецакат нещата. Хубаво е да има backup
* Когато имплементираш нещо го слагай в documentation файла. Смятам, че ще е по-лесно от колкото после да се сетиш. Все пак изпитът не е 2 часа, а главата ти може бързо да гръмне.
* Във файлът изброявайте колкото се може повече неща. Не се знае дали bottleneck-ът, който си намерил е този който се иска. Може нещо да ти се стори като bottleneck, но да се окаже, че не е този, който си е бил там. Така ако изброиш 2/2 и решиш, че си готов може да се окаже, че единият не е този  и да останеш с 1/2. За това е по-хубаво да изброяваш всичко.
* Ако не си закъсал с времето описвай добре pettern-ите и SOLID във файлът. Не се знае човекът, който ще го проверява дали разбира от тези неща => може ако напишеш: "Abstract factory: manufacturers" човекът грам да не разбере (не надценявайте оценяващите). Ако едни пет допълнителни думи може да ти спасят точките, аз лично бих ги сложил. Също така не подценявайте проверяващите. Не е нужно да пишете на кой ред в кой фаил се случват нещата и защо се случват. Проверяващият на теория би трябвало да се е запознал с нещата в курса => би трябвало да може да различи дали това което пише в documentation е лъжа или наистина си направил Mediator от Motherboard
NB! : Преди да го пратиш, задължително виж дали се компилира. Може голям гаф да стане.

Това ми хрумва за сега. Ако ми хрумне още нещо ще го добавя :)
Успех и may the force be with you, Frodo!

 



Отговори



9
Някъде там в първите точки бих добавила преименуване на проекта и на solution-а, както и смяна на default namespace. Последното ще улесни нещата при изнасяне на класовете.
Painlessly Renaming Your Project and Solution Directories

И един cheatsheet с pattern-ите за постоянно ползване: design patterns cheatsheet

от shoko (1073 точки)


2
Изпита е толкова комплексен, че трудно може да се направи конкретен план. Най-важното е да се прочете и разбере условието (ако ще и 1 час да отнеме) и след това всеки да си прецени възможностите и да си направи тънката сметка как може да изкара най-много точки.

от ageorgiev (552 точки)


2

Ако някой все още иска да се упражни за изпита утре, препоръчвам да реши или погледне решението на задачата за подготовка на изпита по КПК 2014 година на този link. Може да е полезно на някой :)


от TeeeeeC (272 точки)


8

И аз си направих подобен план, но по-сбит,че като се стресирам да не се изгубя из него :D :

Initial steps:

  1. Create local repo
  2. Fix compilation errors
  3. Rename solution
  4. Extract classes
  5. Extract enums
  6. Fix namespaces
  7. Fix StyleCop errors (get familiar with the code + move StyleCop settings in project file/solution)
  8. Put // TODO '- s as you go along

Tips and Tricks 

  • commit often
  • 1st update usings, then constructors
  • bottlenecks are hidden in methods
  • Ctrl + Shift + Y - StyleCop solution
  • Ctrl+M, Ctrl+O - collapse methods,etc
  • Ctrl+Shift+A - new class
  • Complete list of VS Shortcuts

от Alex_H (1616 точки)


3
Още няколко важни стъпки:

1. Отиваш на изпит отпочинал(т.е. спиш, разпускаш, кой както си обича)
2. Преценяваш кои задачи са ти по сила и кои не, както и коя колко време би отнела. И съответно почваш от най-достъпните/невремеемките :)
3. Документацията и коментарите правят живота на проверяващия лесен, което може да донесе още някоя-друга точка

от kon.simeonov (5238 точки)