Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Konrak777
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
1

Оцените программу ( написание кода )

04.03.2013, 22:10. Просмотров 820. Ответов 11
Метки нет (Все метки)

Всем привет пишу уже 2 раз насчет оценки кода. Недавно выкладывал тут калькулятор, теперь вот вторая программа.

Что то вроде мини-системы авторизации, скоро доработаю и не буду хранить пароли в явном виде, а буду хранить результат функции F, которая будет производить операцию XOR над Логином и Паролем, которые будут переведены в двоичный код))). Ну это будет потом , а пока оцените.

P.S : И помогите с этим, я так и не разобрался. ( выдает ошибку при считывании "_assembly" )
0
Миниатюры
Оцените программу ( написание кода )   Оцените программу ( написание кода )  
Вложения
Тип файла: rar Prog1.rar (42.8 Кб, 7 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 22:10
Ответы с готовыми решениями:

Написание кода к пятой задаче
Я не могу понять, как будет выглядеть код к задаче под номером 5..я много чего перепробовала,...

Написание программного кода пользователем
Говоря общо, мне нужно чтобы код, написанный для программы в указанном файле после компиляции,...

Написание меню с помощью кода
Необходимость написать меню без использования среды, а с помощью кода. MenuStrip ms1 = new...

написание кода
Всем привет!Помогите написать код и прокомментировать переменные

Написание кода!
1) Даны натуральное число n и действительное x. Вычислить: S=sin x+ sin^2 x +…+sin^n x. ...

11
Konrak777
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
04.03.2013, 22:36  [ТС] 2
Добавил такой метод для кодирования))). Что скажете?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
       
 public void MethPass()
        {
            string pass1 = ID.Text;
            string pass2 = Password.Text;
            string p1 = "";
            string p2 = "";
 
            var a1 = pass1.Select(i => Convert.ToString(i, 2));
            foreach (var ch in a1)
                p1 = p1 + ch;
            var a2 = pass2.Select(i => Convert.ToString(i, 2));
            foreach (var ch in a2)
                p2 = p2 + ch;
 
            int[] array1 = p1.Select(ch => int.Parse(ch.ToString())).ToArray();
            int[] array2 = p2.Select(ch => int.Parse(ch.ToString())).ToArray();
 
            if (array1.Length > array2.Length)
            {
                Array.Resize(ref array2, array1.Length);
            }
 
            if (array2.Length > array1.Length)
            {
                Array.Resize(ref array1, array2.Length);
            }
 
            int[] arrayREZ = new int[array1.Length];
 
            for (int i = 0; i < array1.Length; i++)
            {
                if (array1[i] == array2[i])
                    arrayREZ[i] = 0;
 
                if (array1[i] != array2[i])
                    arrayREZ[i] = 1;
            }
        }
0
klsaymon
40 / 40 / 15
Регистрация: 28.05.2011
Сообщений: 257
Записей в блоге: 1
04.03.2013, 22:37 3
вобщем, напишу замечания относительно того, как вижу код я, а далее ваше дело уже - соглашаться со мной или нет:
1 - вместо ""(пустой строки) рекомендовал бы писать String.Empty
2 - константы в коде, которые повторяются (например, "ID задан"), надо бы вынести, например в верх класса и задать следующим образом - const String ID_SETED = "ID задан"; // как то так
или можно выносить константы в ресурсный файл - создаете его, выбираете и в меню Strings пишете свои константы, обращение к ним будет производиться: Resource.ИмяКонстанты
3 - названий типа "groupBox1" в коде быть не должно, обзовите его как-нибудь, как угодно только не так (groupBoxMain, например)
4 - также при названии объектов и переменных можно придерживать Code Guide (если не слышали, то гугл вам в помощь) - смысл такой, любая переменная int должна иметь преффикс "n", чтобы было понятно что за тип...но это не обязательно конечно, гораздо лучше, когда получается самодокументирующийся код
1
Konrak777
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
04.03.2013, 22:56  [ТС] 4
Я пока особо не задумываюсь над оптимизацией кода, а тупо в лоб пишу код)))). Спасибо за советы =)

Добавлено через 14 минут
HTML5
1
2
3
4
5
*Рома_01000011001111000011101000011110010000110000
*Рома1_01000011001111000000111000011110010000110000110001
*Рома12_01000011001111000000111000011110010000110000110001110010
*Рома123_01000011001111000000111011010010010000110000110001110010110011
*Рома1235_01000011001111000000111011010001000100110000110001110010110011110101
Получаю такой шифр в блокноте, надеюсь он будет достаточно уникальным, и не будут одинаковые коды для разных связок пользователь+пароль)))).
0
Casper-SC
Эксперт .NET
3980 / 1869 / 367
Регистрация: 27.03.2010
Сообщений: 5,219
Записей в блоге: 1
04.03.2013, 23:10 5
Цитата Сообщение от klsaymon Посмотреть сообщение
смысл такой, любая переменная int должна иметь преффикс "n", чтобы было понятно что за тип...но это не обязательно конечно, гораздо лучше, когда получается самодокументирующийся код
В C# это не нужно, навёл указатель мыши и увидел, что за тип. Ну это моё ИМХО. Вообще в .NET я читал рекомендации всё называть без сокращений, без всяких префиксов, чтобы был максимально читабельный код. Единственное, что я использую из префиксов, это знак прочерка _ в начале каждой локальной переменной класса, не для переменных создаваемых внутри методов.

А вот насчёт groupBox1 это реально дельный совет, аж раздражает чистать код, в котором миллион groupBox1, button100500 и т.д.

Добавлено через 2 минуты
И ещё я бы вынес весь функционал из обработчиков событий в отдельные методы и эти методы бы уже вызывал в обработчиках.
1
Konrak777
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
04.03.2013, 23:29  [ТС] 6
Не могу понять почему не работает? Строка 172 ... не хочет хоть убейся проверять пароль, if работает только при проверке Логина, как только добавляю проверку пароля(как уже написано в коде) даже если пароли совпадают он не хочет этого видеть!
0
Вложения
Тип файла: rar 1DEF.rar (45.3 Кб, 3 просмотров)
Casper-SC
Эксперт .NET
3980 / 1869 / 367
Регистрация: 27.03.2010
Сообщений: 5,219
Записей в блоге: 1
04.03.2013, 23:50 7
В режиме отладки код тестируешь? Или просто на выполнение запускаешь и смотришь результат?
0
Psilon
Master of Orion
Эксперт .NET
6025 / 4877 / 903
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
05.03.2013, 00:06 8
Цитата Сообщение от klsaymon Посмотреть сообщение
также при названии объектов и переменных можно придерживать Code Guide (если не слышали, то гугл вам в помощь) - смысл такой, любая переменная int должна иметь преффикс "n", чтобы было понятно что за тип...но это не обязательно конечно, гораздо лучше, когда получается самодокументирующийся код
Ага, строка с префикса s, символ - c, указатель - p... Венгерская нотация давным давно устарела, с появлением первой интеллектуальной IDE, которая тебе и тип покажет, и диаграмму классов нарисует, и все за тебя сделает, только кушай.
0
Wolfdp
886 / 793 / 205
Регистрация: 15.06.2012
Сообщений: 3,127
Записей в блоге: 1
Завершенные тесты: 1
05.03.2013, 00:10 9
Внесу свои пять копеек:
- пароли обычно хранят в виде хэш отпечатка. (md5 к примеру)
- советую почитать про бинарную сериализацию и де-сериализацию, очень помогает сохранять данные любого вида. Это даст вам возможность создать класс User, И уже его записывать/считывать из файла (причем как всё сразу, так и последовательно).
- this.Password.PasswordChar = '*';
- проверять наличие файла с логинами-паролями перед началом считывания. А то программа повиснет, вылетит, а пользователь даже не поймет что случилось. (причем есть ещё вариант отсутствия прав доступа на чтение/запись)
1
Noob.net
Темная сторона .Net
582 / 479 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
05.03.2013, 00:59 10
Konrak777, ну что,код вроде как аккуратный,вроде есть цель у человека.


Хотя я никак не могу понять зачем все эти махинации и что этот код делает,пользу приносит или кусочек геморроя
Но,поскольку вы новичок - покатит.

Теперь совет - Перекиньте весь функционал в класс,например Логинер или еще как.
И вся работа проги будет сводиться к вызову нескольких функций этого класса. Жду релиза.
1
Casper-SC
Эксперт .NET
3980 / 1869 / 367
Регистрация: 27.03.2010
Сообщений: 5,219
Записей в блоге: 1
05.03.2013, 01:12 11
Цитата Сообщение от Noob.net Посмотреть сообщение
Теперь совет - Перекиньте весь функционал в класс,например Логинер или еще как.
AuthorizationManager какой-нибудь (хотя мож не лучшее название ).
И в этом классе не работай ни с какими элементами формы, вообще класс ничего не должен знать о форме.

Добавлено через 1 минуту
Передал в него в качестве параметров логин и пароль, получил ответ и дальше уже в проге что-то предпринимаешь. Я это к тому, что повторюсь внутри класса не взаимодействуй там со всякими текстбоксами и т.д.

Добавлено через 57 секунд
Цитата Сообщение от Noob.net Посмотреть сообщение
Хотя я никак не могу понять зачем все эти махинации и что этот код делает,пользу приносит или кусочек геморроя
Да я тоже скачал и не охота было вникать, там что-то непонятное происходит
0
Konrak777
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
05.03.2013, 02:12  [ТС] 12
Цитата Сообщение от Casper-SC Посмотреть сообщение
В режиме отладки код тестируешь? Или просто на выполнение запускаешь и смотришь результат?
В отладке, он просто тупо пропускал if

Добавлено через 3 минуты
Да это обычная лаба по защите информации в универ ... , моя проблема так и осталась((( ладно всем спасибо. Я писал хорошие программы с разделенными классами и тд но в консоли, теперь перешел на форму и немного туплю).
0
05.03.2013, 02:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 02:12

Написание кода
Здравствуйте у меня такая проблема. Я пробую написать программу на Java суть программы заключается...

Написание кода
Есть алгоритм, но т.к я новенький в Java и в программирование для меня немного сложно написания...

Написание кода кнопки
Здравствуйте, форумчане. Есть сайт ссылка, там есть кнопка &quot;Look at ours campers&quot; &quot;About us&quot;(весь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru