Професионална програма
Loading...
KatyaMarincheva avatar KatyaMarincheva 572 Точки

[Homework] КПК - High Quality Methods 2015

Здравейте колеги,

Пускам тука моята идея за решаването на това домашно:

в class Student метода IsOlderThan го разделих на IsOlderThan, public DateTime GetDateOfBirth(string info), и отделно private static bool IsValidBulgarianFormatDate(string dateInfo) - не знам дали това е добър вариант, но когато опитвах в един и същ метод да валидирам датата и да й присвоявам стойност - при невалиден input string получавах side effect - ако не й присвоя стойност, датата оставаше равна на DateTime.MinValue per default. Ако някой има по-добра идея - моля да каже.

Другите методи от Methods класа ги поразхвърлях в статични класове Formatting и Calculations.

Направих UnitTests за всички методи - в ClassStudentTests и MethodsUnitTests (не знам защо VS отдели това в отделна папка????).

Имам и пълна Sandcastle XML документация в папка Documentation.

6
C# OOP Advanced 22/07/2015 23:24:29
mbencheva avatar mbencheva 52 Точки

Аз мисля, че доста от коментарите са малко излишни и дори затрудняват четенето на код-а:

например:

/// <summary>
/// The Student first name.
/// </summary>
private string firstName;

Класът се казва Student. firstName, очевидно е пъровто име на студента:-)

Колкото до датата на раждане, аз съм преработила код-а и изрично я подавам като стринг от входните параметри => валидирам дали подадения стринг е валидна дата, след което я запазвам като DateTime. Сигурно има и по-добри варианти.

Ето как изглежда "моя student":-)   http://pastebin.com/ug9Q9v53

0
13/01/2016 18:54:13
bacuty avatar bacuty 55 Точки

https://github.com/VasilenaDragancheva/HQC/tree/master/HighQualityMethods
До тези решения ми стигна на мен мозъчето.

Честно казано, малко се чудя с този метод за calculate distance.....лично на мен ми е по ясно, ако имаш две точки, но условието не е точно такова и то май не е рефакторинг вече...

Има и други домашни качени.

 

0
14/01/2016 13:11:17