12 - Currency Converter - 2 решения без излишни проверки
Здравейте колеги, зная че задачите от домашната са направени така, че учещите да се тренират върху материала, който се преподава вмомента, но желая да споделя 2 елегантни, кратки и прости решения на задачата ( и най-вече мързеливи :D ) , въпреки че включват неща, които скоро няма да се изучават. Все пак може някой да се запали и да човърка в теми за по-напреднали с цел улеснение на решаване на бъдещи проблеми.
http://pastebin.com/pTxLNBQS - Без If конструкции, само 4 случая на case, като switch-a е изнесен в метод и затова няма нужда да повтаряме код, а само да приложим метода върху двата стринга, които прочитаме.
http://pastebin.com/uGRfhgKK - Тук менторите ме насочиха още в Събота, да ползвам dictionary, понеже нямам желание да го правя с if / switch конструкции и чак в нас успях да го измисля, с малко помощ от google. Накратко с dictionary имаме по всяко време key / value и можем да ги използваме от сорта на : double result = (currencies[firstCurrency] / currencies[secondCurrency]) * amount;
Дано на някой са му били интересни решенията и да се запали да чете за някои неща, които ще се изучават напред.
Междудругото от лекция 03-Simple-Conditional-Statements има няколко задачки, които се решават с един от тези начини, без многото if/ switch проверки, решението на тях мисля, че няма нужда да го пускам, то е същото като този код, само трябва да се променят стойностите евентуално.
Пускайте и ваши решения на подобни задачи, всмисъл заспиващи на 100/100 с някакви неща, които не са изучавани в курса.
Поздрави.
Добро решение, но повярвай: със switch case е 1 000 пъти по лесно. И аз си мислех, че е много играчка, ама като пробваш няколко пъти и ще видиш, че наистина ти улеснява живота. :)
Keep coding!
То решението заспива със 100/ 100 точки, но лично аз винаги се стремя нещата да ги правя що годе както биха се правили в живота. Следвам DRY принципа ( do not repeat yourself ) понеже много съм си патил. Твоето решение например става да, заспива на 100/100 точки, но евентуално ако трябва да се вкара някъде може да имаш големи бели :D . Аз продавам един php скрипт, що годе доволно вървят нещата, че да се издържам само от него, но там като почнах да го пиша го пишех pure php, с минимално използване на методи и много повторения на код, абе с една дума спагети код :D и си мислех, е какъв е проблема, нали са 5-6 файла, няма нужда и от ООП дори. Да, но впоследствие почнаха проблемите, мейлите, рефундовете и направо се наложи да се пренапише целия код буквално за да го направя с MVC фронт контролер, обектно ориентиран и разделение на кода и що годе да няма повторения ( има и сега :D ). Та от тази гледна точка търся някакви адекватни решения на домашните, които биха ми били полезни и занапред в "реалното програмиране", а не в това да изкарва 100/ 100.
И тук е момента да изкаже мнение някой човек, който е писал във фирма .NET / CSharp код, евентуално нещо такова как би се изкодило в кадърна фирма и какво би се ползвало, че да научим как се правят нещата в реалното програмиране.