Loading...
milkokochev avatar milkokochev 10 Точки

Подреждане на кода?

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

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

ето линк със задачата --> click

 

Тагове:
0
Programming Basics
jabalka avatar jabalka 960 Точки

Отстъпите са ти добре. Разделил си смислените части в кода с празен ред. Променливите ти са с добри имена. Единственото, което може да подобриш, според мен, е преди всяка смислова част дадобавиш коментар какво правиш в кода. На пример //input; //output и т.н.

Поздрави за хубавия код и успехи!

2
RoYaL avatar RoYaL Trainer 6849 Точки

Console.WriteLine("\nFirst Name: {0} \nLast Name: {1} \nAge: {2} \nGender: {3} \nPersonal ID Number: {4} \nEmployee number: {5}", firstName, lastName, age, gender, personalID, emplNumb);

 

Това може да стане:

 

Console.WriteLine("\n

    First Name: {0} \n

    Last Name: {1} \n

    Age: {2} \n

    Gender: {3} \n

    Personal ID Number: {4} \n

    Employee number: {5}",

    firstName, lastName, age, gender, personalID, emplNumb

);

 

Или обратното - параметрите да са така направени, както е ковенцията за писане на методи с много параметри.

 

 P.S.: Променливите са много добре наименовани, само ще отворя една скоба, в случая не етакъв проблем, но като цяло - избягвай абревиатурите.

emplNumb разбирам за какво иде реч, не ечак такъв проблем, но ако си го направиш като практика, ще завършиш с имена като "prv" вместо "private", "custId" вместо "customerId" и т.н., аксептъбъл са само най-разпространените абревиатури като например "cnt" вместо "count".

1
milkokochev avatar milkokochev 10 Точки
Съгласен съм за съкращенията и бих ги използвал само ако е абсолютно ясно за какво иде реч :)
0
Dopey avatar Dopey 7 Точки

Аз бих декларирал всички променливи в началото, така като поглднеш знаеш какво ще се ползва, също така ползвай TryParse вместо Parse  за да не ти хвърля exceptions ако няма да ги хващаш. 

 

string firstName;
string lastName;
byte age;
char gender;
long personalID;
int emplNumb;


Console.Write("Enter your first name: ");
firstName = Console.ReadLine();

Console.Write("Enter your last name: ");
lastName = Console.ReadLine();

Console.Write("Enter your age (0-100): ");
byte.TryParse(Console.ReadLine(), out age);

Console.Write("Enter your gender (f/m): ");
char.TryParse(Console.ReadLine(), out gender);

Console.Write("Enter your personal ID number: ");
long.TryParse(Console.ReadLine(), out personalID);

Console.Write("Enter your employee number : ");
int.TryParse(Console.ReadLine(), out emplNumb);

1
milkokochev avatar milkokochev 10 Точки
Добра идея наистина е да са в началото, доста по-лесно се намират, а и по-подредено изглежда, поне за тази задача. Може би ще се рализира трудно при по-сложни и дълги кодове.
0
RoYaL avatar RoYaL Trainer 6849 Точки

Не точно. В по-дългите и сложни кодове, всичко ти е изнесено като пропъртита на класа, т.е. отново е предаврително дефинирано. А всички междинни променливи са темп променливи, и като цяло не ги ползваш за нещо по-генерално.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.