1 / 1 / 2
Регистрация: 24.09.2016
Сообщений: 144
|
||||||
1 | ||||||
Насколько плохо написан код?02.10.2016, 18:41. Показов 1382. Ответов 26
Метки нет (Все метки)
написал программу с горем да пополам, но появился вопрос о ее качестве. насколько плохо она написана? стояла такая задача:
программа содержит массив строк, каждый из которых представляет собой запись про учетную запись пользователя, а каждое поле отделяется от другого двоеточием. известно, что первое поле сохраняет логин, пятое - имя и фамилию через запятую, а шестое - пароль запросить логин пользователя. если логин неизвестный, то запросить логин заново. предусмотреть выход из программы если будет введено слово "bye". Если логин найдено в массиве, то вывести поздравление со значением имени и попросить ввести пароль. по результатам проверки пароля вывести на экран сообщение об успешной авторизации или дать пользователю дополнительную попытку. предусмотреть не более двух дополнительных попыток.
0
|
02.10.2016, 18:41 | |
Ответы с готовыми решениями:
26
Код написан в Dev C. Не работает в Visual. Как нужно переделать код? как исправить код на динамический массив-код уже написан только на статическом правильно ли написан код в с++? Неправильно написан код |
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
|
|
02.10.2016, 18:59 | 3 |
Читать не удобно, скриптово. Бейте на функции типа таких: bool authorizе(), bool findindb(char* findname)
0
|
Модератор
|
|||||||||||||||||||||||||||||||||||||||||
02.10.2016, 19:46 | 4 | ||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено pavlenko2k16 как решение
Решение
pavlenko2k16, очень плохо.
По порядку:
6
|
1 / 1 / 2
Регистрация: 24.09.2016
Сообщений: 144
|
|
02.10.2016, 20:07 [ТС] | 5 |
Спасибо огромное. буду учиться
0
|
Модератор
|
|
02.10.2016, 20:13 | 6 |
Лучше всего по хорошим книгам.
За чистотой кода идти вот к этим ребятам:
0
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
|
02.10.2016, 20:41 | 7 |
Дополню: Данные лучше хранить в классах в виде списка объектов. vector думаю подойдет вполне.
Хотя... В данном случае учитывая что это список аккаунтов наверное map лучше всего.
0
|
_stanislav
|
02.10.2016, 21:01
#8
|
0
|
nmcf
|
02.10.2016, 21:06
#9
|
0
|
sourcerer
|
03.10.2016, 08:06
#10
|
Не по теме:
_stanislav, кстати, его антиподом можно было бы назвать стиль коллеги _Ivana. Характерные недочёты:
0
|
Убежденный
|
|||||
03.10.2016, 09:01
#11
|
|||||
Не по теме:
whitespace-символы и форматирование и приводит код к единому виду? О вкусах не спорят, но вот это похоже на какой-то 'diff driven development'. Ну давайте все растянем по вертикали, чтобы при мерже не дай бог не пришлось править целую строчку вместо одного символа. Например, так:
только "->", так что я сейчас пишу код так, чтобы обращение к классам шло строго по указателю... :D
1
|
sourcerer
|
03.10.2016, 09:31
#12
|
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
03.10.2016, 10:07 | 13 |
Никогда не понимал зачем он здесь нужен! Я, наоборот, не могу читать код, пока не поубиваю эти пробелы после for и имен функций. Думал я один так пишу, но, порывшись в книгах, обнаружил такой же стиль в книге Саттера и его совместной с Александреску.
1
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
03.10.2016, 10:25 | 15 |
Ну, так в этом и смысл. Я тут очень согласен с Аленом Голубом, что выравнивание кода по вертикали в разы повышает его читаемость.
0
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
03.10.2016, 10:30 | 16 |
pavlenko2k16, я не буду показывать как надо, потому что это дело личное. Чтение любого код предполагает какие-то усилия, а понедельник бывает тяжелый. Иногда человеку проще вызвериться по поводу того, что с кодом что-то не то, чем вникать в него (авось повезет и в код не придется дальше вникать). Словно для таких случаев и придуманы всякие правила и требования к коду и его оформлению (как будто одного понедельника для этого мало!) В некоторых языках программирования нет шаблонных конструкций вроде условного оператора или цикла и нет ничего кроме goto в разных формах. Но встречается goto и в СИ, когда память берегут и не спешат забивать её переменными счетчиков циклов. Иногда goto не просто бросает нить программы в очередную пропасть, но еще и контекст восстанавливает (каким он был до какого-то момента). Goto не только любимый повод начать понедельник с хорошего скандала, но и способ реализации базы данных mail.ru - Tarantool (смотрите и дивитесь goto)
1
|
Ушел с форума
|
|
03.10.2016, 10:41 | 17 |
Ну вообще, посыл заключался в том, что читаемость кода - главное, а угождать
особенностям поведения diff tools, IDE и т.п. - это второстепенное. IMHO.
0
|
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
|
|
03.10.2016, 10:45 | 19 |
goto не так и плох сам по себе, тот же ассемблер без него ни куда. разница только в том, что в высокоуровневых языках гоуту можно(крайне желательно) заменять более понятными человеку конструкциями. тут вопрос только читабельности и сопровождаемости кода. имхо
0
|
Неэпический
|
|
03.10.2016, 10:55 | 20 |
Ну, если это приветствие, то здесь
Добавлено через 1 минуту готы приветствуют?
0
|
03.10.2016, 10:55 | |
03.10.2016, 10:55 | |
Помогаю со студенческими работами здесь
20
Правильно ли написан код Правильно ли написан код .cpp? Этот код написан на С++ или Delphi? Код написан,нужна небольшая корректировка.Массивы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |