Съвет към всички
Изобщо не искам да създавам впечатление, че съм много напред с материала. Аз съм един от начинаещите и често гледам на другите домашните, взимам когато каквото ми трябва, но съм забелязал две бих казал недоглеждания, дължащи се на малко тестове.
Първия проблем, който забелязвам е, че често се игронира CultureInfo-то. Добре е, ако имате програма, в която има числа след запетаята, да зададете Culture-а още в първия ред на програмата.
Тъй като съм свикнал да ползвам формата (0.00) използвам следното:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Другото, което искам да наблегна е да се четат внимателно условията, защото в много домашни пише real numbers, а виждам int-ове. На една задача имаше floating-point, пак видях само int-ове.
Според мен това се дължи на малко тестове. Аз винаги тествам програмките поне 15-20 пъти, а по-големките стигам до 100 теста.
Отново казвам, че това са съвети и просто исках да споделя с вас, тъй като гледам доста домашни.
Ще се радвам, ако и вие споделите често срещани грешки. :)
В условието за вход уточняваш какъв да е формата.
"Enter a number [0.00 format]: "
"Enter a number [0,00 format]: "
Ако имаш по-добро решение - сподели го, защото ми се налага почти във всяка програма да го пиша :)
Пък и целта е да работи на всякакви устройства, а не само на твоето.Аха, сега те разбрах. Е аз не указвам какъв да е формата. В смисъл не казвам дали да е запетайка или точка. Указвам дали да е цяло число или не, това мисля, че е достатъчно. Вече кой както си е направил системата да си въвежда запетайка или точка, както му харесва.
Програмата ще работи на всяко устройство дори и без този ред и обикновено няма и да гърми, защото потребителят, който ще я пуска се предполага, че е свикнал с формата на собствения си компютър. Проблем би имало, ако ти седнеш на друг компютър с различни от твоите настроики, тогава ще гърми. Не че е лошо да го има този ред, ама за домашните според мен не е необходим.