Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 08:21
Оценка: -1 :)))
Решил я тут намедни Дотнет с Додиезом и прочими ВПЭФами освоить.
Пенсионер жеж — для собственного удовольствия...

Задачку себе выбрал: система психологического тестирования.
Потом студентам буду показывать процесс эволюционного развития системы и на паттерны показывать.
Чтобы одновременно не заморачиваться всем сразу, отложил работу с базой на попозже, и проектирование оконного интерфейса — тоже.
Тут просится паттерн прокси на место DB.

Основная часть сейчас — написать собственно тестилку.
Практически все тесты обрабатываются однотипно.
Поэтому первое, что автоматом сделал — паттерн Шаблонный метод.
Хотя Боб Мартин еще советует посмотреть в сторону Стратегии. Посмотрим. Пока неясны выгоды того и другого.
Шаблонный метод — очень понятный паттерн и в данном случае применяется просто в лоб.

У каждого теста есть набор вопросов.
И тестов этих много — ну, штук 200-300. Тут просится Фабрика — это понятно.

При писанине возникли некоторые вопросы к знатокам.
1. Список тестов.
Его легко сделать в виде обычного текстового файла.
Это чтобы можно было туда добавлять новые.
За каждой строкой "стоит" тест (объект в программе) и он имеет список своих вопросов.
Можно этот список вопросов запихать в файл и связать его имя со строкой в списке тестов.

Например:
1. Тест Кеттела = Q0001
2. Тест Айзенка = Q0002
Вот этот список тестов — в ресурсы запихать, или оставить как чисто простой текстовый файл?
Есть ли смысл в использовании ресурсов в данном случае?
Это ж тоже изучать в данном случае — Студия дофига кода генерит для ресурсов.

2. А когда тест выбран для работы, метод Initialization() просто читает в List<string> из соответствующего файла.
Или просто в лоб в коде присвоить имя файла?
В связи с этим: пока не совсем понятно, когда использовать свойства.
Вот например, для имени файла с вопросами использовать поле или свойство?

3. Нет опыта использования интерфейсов.
Когда использовать классы, когда интерфейсы (ну, кроме понятных случаев множественного наследования).
Боб Мартин паттерн Стратегия описывает как второй вариант решения одной и той же задачи.
И как раз описывает стратегию с помощью интерфейса.
А потом разные стратегии у него реализуются разными классами.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Впросы новичка
От: Sinix  
Дата: 24.04.16 09:04
Оценка: +5
Здравствуйте, LaptevVV, Вы писали:

LVV>Поэтому первое, что автоматом сделал — паттерн Шаблонный метод.

Стоять ать-два. Вот так делать никогда и ни при каких обстоятельствах не надо, это прямой путь к запороть весь проект.


Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.

Недавно обсуждалось вот тут
Автор: okon
Дата: 20.02.16
, цитата для затравки:

вы же не думаете в стиле "у меня есть шуруповёрт, значит, мне нужно собрать шкаф, потому что часы им разбирать неудобно"?
Ну так почему для разработки такой способ мышления считается нормальным?


LVV>Хотя Боб Мартин еще советует посмотреть в сторону Стратегии. Посмотрим. Пока неясны выгоды того и другого.

У Боба Мартина всё классно, кроме одного — он не решает проблемы, он творчески натягивает паттерны. В результате получается симпатично
  и как-то так


В общем, если вам для дела, а не для заготовок сфероконины в промышленных масштабах, то ни Фаулер, ни тем более Мартин — не авторитет.


LVV>Шаблонный метод — очень понятный паттерн и в данном случае применяется просто в лоб.

LVV>У каждого теста есть набор вопросов.
Посмотрите ссылку на обсуждение выше, я там расписывал с примерами, как надо рассуждать при формулировке начального ТЗ.

Будут реальные сценарии — можно будет и конкретные решения обсудить. А то с тем же успехом можно дротики в оглавление Фаулера метать и писать выпавшее. Шансы угадать те же.
Отредактировано 22.11.2016 8:09 Sinix . Предыдущая версия .
Re[2]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 09:18
Оценка:
LVV>>Поэтому первое, что автоматом сделал — паттерн Шаблонный метод.
S>Стоять ать-два. Вот так делать никогда и ни при каких обстоятельствах не надо, это прямой путь к запороть весь проект.
Почему?
Все тесты обрабатываются совершенно одинаково:
— есть несколько десятков вопросов.
— вопросы задаются пользователю.
Обычно чисто последовательно, но это не критично — можно и все сразу показать, а пользователь будет сам выбирать.
— принимается ответ.
После получения всех ответов — расчет показателей теста.
Далее эти результаты сохраняются в каком-то виде в БД.
И можно показать пользователю.
Пока все.
S>Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.
Так что тут как раз получается, что решаемая задача — оно самое и есть Шаблонный метод.
S>Недавно обсуждалось вот тут
Автор: okon
Дата: 20.02.16
, цитата для затравки:

S>

S>вы же не думаете в стиле "у меня есть шуруповёрт, значит, мне нужно собрать шкаф, потому что часы им разбирать неудобно"?
S> Ну так почему для разработки такой способ мышления считается нормальным?

Спасибо, почитаю.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Впросы новичка
От: Lexey Россия  
Дата: 24.04.16 10:30
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Почему?


По жизни. Можно, конечно, забивать гвозди микроскопом. Но может оказаться, что молотком удобнее и эффективнее.

LVV>Все тесты обрабатываются совершенно одинаково:

LVV>- есть несколько десятков вопросов.
LVV>- вопросы задаются пользователю.
LVV>Обычно чисто последовательно, но это не критично — можно и все сразу показать, а пользователь будет сам выбирать.
LVV>- принимается ответ.
LVV>После получения всех ответов — расчет показателей теста.
LVV>Далее эти результаты сохраняются в каком-то виде в БД.
LVV>И можно показать пользователю.
LVV>Пока все.

И куда в этом описании пихать шаблонный метод? Возможно, он пригодится где-то в процессе реализации каких-то частей этой последовательности, но на таком уровне никакой надобности в нем не наблюдается.

S>>Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.


+100500.

LVV>Так что тут как раз получается, что решаемая задача — оно самое и есть Шаблонный метод.


Шаблонный метод — это инструмент. Он не может быть решаемой задачей (кроме случая, когда стоит задача написать шаблонный метод. Но это ведь не тот случай, да?).
"Будь достоин победы" (c) 8th Wizard's rule.
Re: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 10:42
Оценка: 13 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Его легко сделать в виде обычного текстового файла.


Лучше его сделать в виде обычного XML или обычного JSON файла.

LVV>Это чтобы можно было туда добавлять новые.

LVV>За каждой строкой "стоит" тест (объект в программе) и он имеет список своих вопросов.
LVV>Можно этот список вопросов запихать в файл и связать его имя со строкой в списке тестов.

Неудобно когда информация о тесте раскидана по нескольким файлам.

LVV>Есть ли смысл в использовании ресурсов в данном случае?


Не особо.

LVV>Это ж тоже изучать в данном случае — Студия дофига кода генерит для ресурсов.


Изучать там нечего. И генерацию можно убрать.

LVV>2. А когда тест выбран для работы, метод Initialization() просто читает в List<string> из соответствующего файла.

LVV>Или просто в лоб в коде присвоить имя файла?

Вопрос непонятен.

LVV>Вот например, для имени файла с вопросами использовать поле или свойство?


Код покажи.

LVV>3. Нет опыта использования интерфейсов.

LVV>Когда использовать классы, когда интерфейсы (ну, кроме понятных случаев множественного наследования).

В общем случае интерфейсы использовать всегда, когда можно. Абстрактные классы — только когда интерфейсы не подходят.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 10:55
Оценка: 13 (1) +2
Здравствуйте, LaptevVV, Вы писали:

S>>Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.

LVV>Так что тут как раз получается, что решаемая задача — оно самое и есть Шаблонный метод.

Нет, это не задача.
Начни с тестов (nunit-тестов, а не своих). Как бы ты хотел, чтобы выглядел код, использующий эти самые тесты?
Например:
var testManager = TestManager.Create(new TestSourceMock(testXml));
var test = testManager.Get("Kettel");
Assert.AreEqual("Тест Кеттела", test.DisplayName);
Assert.AreEqual(3, test.Questions.Count);
Assert.AreEqual("Вопрос 1 ...", test.Questions[0].Text);
Assert.AreEqual(QuestionType.Exclusive, test.Questions[0].Type);
Assert.AreEqual(2, test.Questions[0].Answers.Count);
Assert.AreEqual("Ответ А", test.Questions[0].Answers[0]);
...

Ну и самое сложно в твоей задаче — понять какие типы тестов ты хочешь покрыть и как эти типы объединить одной моделью. Как вопросы организованы, как результат теста вычисляется, нужен ли rich text в вопросах и ответах и т.п. А все эти рассказы про шаблоны — ненужные подробности на данном этапе.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 11:07
Оценка:
LVV>>Все тесты обрабатываются совершенно одинаково:
LVV>>- есть несколько десятков вопросов.
LVV>>- вопросы задаются пользователю.
LVV>>Обычно чисто последовательно, но это не критично — можно и все сразу показать, а пользователь будет сам выбирать.
LVV>>- принимается ответ.
LVV>>После получения всех ответов — расчет показателей теста.
LVV>>Далее эти результаты сохраняются в каком-то виде в БД.
LVV>>И можно показать пользователю.
LVV>>Пока все.
L>И куда в этом описании пихать шаблонный метод? Возможно, он пригодится где-то в процессе реализации каких-то частей этой последовательности, но на таком уровне никакой надобности в нем не наблюдается.
Дык это он и есть.
Абстрактный алгоритм работы теста.
Различия — в деталях: вопросы, ответы, способ обработки.
S>>>Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.
L>+100500.
LVV>>Так что тут как раз получается, что решаемая задача — оно самое и есть Шаблонный метод.
L>Шаблонный метод — это инструмент. Он не может быть решаемой задачей (кроме случая, когда стоит задача написать шаблонный метод. Но это ведь не тот случай, да?).
Шаблонный метод — подходящий в данном случае инструмент.
Пока вы меня не убедили, что он здесь не подходит.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 11:23
Оценка:
S>>>Код _всегда_ должен писаться от решаемой проблемы, а не от способа решения.
LVV>>Так что тут как раз получается, что решаемая задача — оно самое и есть Шаблонный метод.
AVK>Нет, это не задача.
AVK>Начни с тестов (nunit-тестов, а не своих). Как бы ты хотел, чтобы выглядел код, использующий эти самые тесты?
AVK>Например:
AVK>
AVK>var testManager = TestManager.Create(new TestSourceMock(testXml));
AVK>var test = testManager.Get("Kettel");
AVK>Assert.AreEqual("Тест Кеттела", test.DisplayName);
AVK>Assert.AreEqual(3, test.Questions.Count);
AVK>Assert.AreEqual("Вопрос 1 ...", test.Questions[0].Text);
AVK>Assert.AreEqual(QuestionType.Exclusive, test.Questions[0].Type);
AVK>Assert.AreEqual(2, test.Questions[0].Answers.Count);
AVK>Assert.AreEqual("Ответ А", test.Questions[0].Answers[0]);
AVK>...
AVK>

AVK>Ну и самое сложно в твоей задаче — понять какие типы тестов ты хочешь покрыть и как эти типы объединить одной моделью. Как вопросы организованы, как результат теста вычисляется, нужен ли rich text в вопросах и ответах и т.п. А все эти рассказы про шаблоны — ненужные подробности на данном этапе.
1. Спасибо за пример юнит-тестов. А то я думал, как их писать.
2. Покрываются ВСЕ психологические тесты-опросники. Их много — до нескольких сотен.
Схема тестирования у всех одинакова — я приводил. Разница — в наборах вопросов, естественно, ответах и обработке ответов.
Не покрываются тесты другого вида (пока так представляется), например, тест Люшера.
3. Отсюда — вопросы у всех тестов организованы одинаково... Просто последовательность строк.
Пока отставил проектирование диалогового интерфейса — сначала хочу движок состряпать.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 11:37
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>3. Отсюда — вопросы у всех тестов организованы одинаково... Просто последовательность строк.


Как минимум, для разных вопросов ответы могут быть только один вариант или возможность выбрать несколько.

LVV>Пока отставил проектирование диалогового интерфейса — сначала хочу движок состряпать.


Подумай еще над тем, где сами тесты хранить, куда сохранять результаты тестирования, как идентифицировать тестируемого и т.п.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[6]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 11:45
Оценка:
LVV>>3. Отсюда — вопросы у всех тестов организованы одинаково... Просто последовательность строк.
AVK>Как минимум, для разных вопросов ответы могут быть только один вариант или возможность выбрать несколько.
Ну, это как раз те конкретные детали, которые просто уточняют общую схему.
LVV>>Пока отставил проектирование диалогового интерфейса — сначала хочу движок состряпать.
AVK>Подумай еще над тем, где сами тесты хранить, куда сохранять результаты тестирования, как идентифицировать тестируемого и т.п.Ну, это тоже само-собой.
Ибо тут придется проектировать схему БД.
Поэтому пока вместо БД — заглушка.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 11:55
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:

AVK>>Как минимум, для разных вопросов ответы могут быть только один вариант или возможность выбрать несколько.

LVV>Ну, это как раз те конкретные детали, которые просто уточняют общую схему.

Они так уточняют, что вместо простотекста появляется какой то формат. Так что лучше сразу не лохматить бабушку, а использовать что нибудь более структурированное, нежели простой текст.

AVK>>Подумай еще над тем, где сами тесты хранить, куда сохранять результаты тестирования, как идентифицировать тестируемого и т.п.Ну, это тоже само-собой.

LVV>Ибо тут придется проектировать схему БД.
LVV>Поэтому пока вместо БД — заглушка.

Да бог с ней, с БД. Ты хотя бы определись — это будет единое хранилище на сервере или локальное.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 12:15
Оценка:
LVV>>Ибо тут придется проектировать схему БД.
LVV>>Поэтому пока вместо БД — заглушка.
AVK>Да бог с ней, с БД. Ты хотя бы определись — это будет единое хранилище на сервере или локальное.
На сервере.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 12:25
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>На сервере.


Вот с этого тогда и надо начинать. Определись хотя бы с базовыми параметрами — в каком виде у тебя будет серверная часть,какой протокол. Или может быть там веб-интерфейс у тестов будет. Как регистрировать и аутентифицировать пользователей. Как на сервер добавлять данные. Как просматривать результаты тестирования.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re: Впросы новичка
От: Qulac Россия  
Дата: 24.04.16 12:31
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>3. Нет опыта использования интерфейсов.

LVV>Когда использовать классы, когда интерфейсы (ну, кроме понятных случаев множественного наследования).
LVV>Боб Мартин паттерн Стратегия описывает как второй вариант решения одной и той же задачи.
LVV>И как раз описывает стратегию с помощью интерфейса.
LVV>А потом разные стратегии у него реализуются разными классами.

Вообще тут роли напрашиваются. Админ который будет добавлять в систему преподов. Преподы, которые будет добавлять тесты и студентов, ну студенты конечно. А так это как-то "сферично" и "ваккуумно".
Программа – это мысли спрессованные в код
Отредактировано 24.04.2016 12:37 AndrewVK . Предыдущая версия .
Re[2]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 14:56
Оценка:
Q>Вообще тут роли напрашиваются. Админ который будет добавлять в систему преподов. Преподы, которые будет добавлять тесты и студентов, ну студенты конечно. А так это как-то "сферично" и "ваккуумно".
Не. Админ не нужен.
Препод (например, я) будет добавлять тесты.
А студенты — сами регистрироваться будут.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 15:10
Оценка:
LVV>>На сервере.
Это я так планирую довести до этого.
AVK>Вот с этого тогда и надо начинать. Определись хотя бы с базовыми параметрами — в каком виде у тебя будет серверная часть,какой протокол. Или может быть там веб-интерфейс у тестов будет. Как регистрировать и аутентифицировать пользователей. Как на сервер добавлять данные. Как просматривать результаты тестирования.
1. Систему планирую потом использовать только на кафедре.
Пока мыслю — в пределах одного компьютерного класса с базой на локальном кафедральном сервере.
Это примерно 14-15 компов одновременно.
2. Все добавления-модификации информации буду делать сам или знакомый препод.
Прямо на кафедральном компе. Поэтому новых преподов не нужно регистрировать.
3. Студенты будут региться из класса.

В этом деле опыта нет абсолютно.
Наверное, тонкий клиент?
Ибо от пользователя требуется только вводить ответы.
Пока все ответы не получены — ничего считать не надо.

Неужто интерфейс просто ручками в html сваять?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Впросы новичка
От: andrey82  
Дата: 24.04.16 15:53
Оценка: 13 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>1. 2. 3.

Воот.. уже прорисовываются сценарии использования с характеристиками окружения. С этого и надо начинать. Дальше немного детализировать до появления схем взаимодействия и можно код начинать писать.

LVV>Наверное, тонкий клиент?

LVV>Ибо от пользователя требуется только вводить ответы.
LVV>Пока все ответы не получены — ничего считать не надо.

LVV>Неужто интерфейс просто ручками в html сваять?

Вполне возможный вариант
Я бы делал примерно так:
HTML + CSS + JS на клиенте, т.к. функционал простой и сразу решается вопрос обновления версий
REST сервис на сервере (WebAPI, C# .NET 4.5 + там много чего готового есть для авторизации и прочих типовых задач)
Либо, если веб интерфейс не нужен и хочется 100% .NET на клиенте и сервере
WPF приложение на клиенте — тут как раз можно применить всякие MVVM и прочие паттерны
WCF сервис на сервере
Можно вообще не делать сервис а напрямую цепляться к БД из клиентов, но.. советовать такое пожалуй не буду.
Re[12]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 17:35
Оценка:
A>Я бы делал примерно так:
A>HTML + CSS + JS на клиенте, т.к. функционал простой и сразу решается вопрос обновления версий
A>REST сервис на сервере (WebAPI, C# .NET 4.5 + там много чего готового есть для авторизации и прочих типовых задач)
Где читать?
A>Либо, если веб интерфейс не нужен и хочется 100% .NET на клиенте и сервере
A>WPF приложение на клиенте — тут как раз можно применить всякие MVVM и прочие паттерны
A>WCF сервис на сервере
Опять же — где читать про взаимодействие клиента и сервера?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[13]: Впросы новичка
От: andrey82  
Дата: 24.04.16 18:43
Оценка: 13 (1)
LVV>Где читать?
Для поверхностного ознакомления и быстрого старта например тут >> http://metanit.com/sharp/aspnet_webapi/

LVV>Опять же — где читать про взаимодействие клиента и сервера?

Ну... например нагуглить какую-нибудь статью по запросу WCF Tutorial для ознакомления, потом какую-нибудь книжку посолиднее . По технологиям там ничего экстраординарного, а вот правильно спроектировать интерфейс сервиса — этому придется подольше учиться.
Re[14]: Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 18:55
Оценка:
Ок.
Как отлаживать на одной машине?
Сервер на виртуалке поднять?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[15]: Впросы новичка
От: Qulac Россия  
Дата: 24.04.16 19:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ок.

LVV>Как отлаживать на одной машине?
LVV>Сервер на виртуалке поднять?

Зачем? Делаете тестовые проект в студии и тестируете классы контроллеров.
Программа – это мысли спрессованные в код
Re[15]: Впросы новичка
От: andrey82  
Дата: 24.04.16 19:16
Оценка:
LVV>Как отлаживать на одной машине?
LVV>Сервер на виртуалке поднять?

Вообще да, будет полезно для проверки взаимодействия. Но в процессе разработки при запуске из студии все будет работать на отладочном сервере с возможностью использовать отладчик для сервиса и клиента.
Re[5]: Впросы новичка
От: Lexey Россия  
Дата: 24.04.16 20:04
Оценка: 14 (1) +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Дык это он и есть.

LVV>Абстрактный алгоритм работы теста.

А... с таким же успехом можно почти любую программу обозвать шаблонным методом. Вот только, зачем?
Обычно под шаблонным методом понимают переиспользуемый алгоритм, содержащий какие-то точки кастомизации (через оверрайды/стратегии/trait'ы и т.п.). Что планируется переиспользовать на уровне всего приложения?

LVV>Различия — в деталях: вопросы, ответы, способ обработки.


Эти различия прекрасно обрабатываются на уровне блоков, составляющих высокоуровневый алгоритм. Зачем их вытаскивать наверх?

LVV>Шаблонный метод — подходящий в данном случае инструмент.


Из описания этого не видно. Видно только, что имеет место быть попытка бежать впереди паровоза и принимать низкоуровневые архитектурные решения до того, как будут определены бизнес-требования и описана высокоуровневая архитектура.
"Будь достоин победы" (c) 8th Wizard's rule.
Отредактировано 24.04.2016 20:05 Lexey . Предыдущая версия .
Re[11]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 21:41
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>1. Систему планирую потом использовать только на кафедре.

LVV>Пока мыслю — в пределах одного компьютерного класса с базой на локальном кафедральном сервере.
LVV>Это примерно 14-15 компов одновременно.

На данном этапе развития индустрии это уже не важно. Сейчас решения для интранета и интернета технически уже не отличаются.

LVV>2. Все добавления-модификации информации буду делать сам или знакомый препод.

LVV>Прямо на кафедральном компе. Поэтому новых преподов не нужно регистрировать.

Т.е. для тестирования нужно держать включенной персоналку, а аутентификация преподов тупо по localhost? Плохая, ИМХО, идея. Тем более что ты вроде заявил что цель в изучении технологий.

LVV>В этом деле опыта нет абсолютно.

LVV>Наверное, тонкий клиент?

Не знаю. Тебе бы чего хотелось? Десктопного клиента или веб-интерфейс?

LVV>Неужто интерфейс просто ручками в html сваять?


Просто — понятие растяжимое, но мейнстрим где то там.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[12]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 21:45
Оценка: +2
Здравствуйте, andrey82, Вы писали:

A>REST сервис на сервере (WebAPI, C# .NET 4.5 + там много чего готового есть для авторизации и прочих типовых задач)


Вот уж не уверен что для этой задачи оно нужно, особенно если учесть предположительно нулевой экспириенс в JS.

A>Можно вообще не делать сервис а напрямую цепляться к БД из клиентов


Не нужно такое. Безопасность от подобного совсем печальна.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[13]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 21:45
Оценка:
Здравствуйте, LaptevVV, Вы писали:

A>>REST сервис на сервере (WebAPI, C# .NET 4.5 + там много чего готового есть для авторизации и прочих типовых задач)

LVV>Где читать?

A>>WCF сервис на сервере

LVV>Опять же — где читать про взаимодействие клиента и сервера?

Можно начать с MSDN
https://msdn.microsoft.com/en-us/library/dd203052.aspx
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[15]: Впросы новичка
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.04.16 21:47
Оценка: 13 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Ок.

LVV>Как отлаживать на одной машине?
LVV>Сервер на виртуалке поднять?

Не нужно ничего поднимать. В студии уже есть специальный IIS Express для отладки. Просто создаешь Web приложение и оно автоматом все подцепляет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[6]: Впросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 03:34
Оценка:
LVV>>Различия — в деталях: вопросы, ответы, способ обработки.
L>Эти различия прекрасно обрабатываются на уровне блоков, составляющих высокоуровневый алгоритм. Зачем их вытаскивать наверх?
Зачем наверх.
Наверху — абстрактный метод. Который реализуется внизу для каждого конкретного теста.
LVV>>Шаблонный метод — подходящий в данном случае инструмент.
L>Из описания этого не видно. Видно только, что имеет место быть попытка бежать впереди паровоза и принимать низкоуровневые архитектурные решения до того, как будут определены бизнес-требования и описана высокоуровневая архитектура.
Ну, когда разработка через тестирование начинается, ни о какой высокоуровневой архитектуре речи не идет...
Просто пробуем.
Тем более, что пробуем для освоения инструмента.
И кстати, пробуем архитектуру тоже.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 06:53
Оценка:
LVV>Решил я тут намедни Дотнет с Додиезом и прочими ВПЭФами освоить.
LVV>Пенсионер жеж — для собственного удовольствия...
Вообще — ужос и кошмар!
System.Data, ADO.NET, ASP.NET, WPF, WCF — чтобы создать ПРОСТОЕ приложение.
А в какой книжке написано, как создать клиент-серверное приложение 2+2 ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 06:59
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вообще — ужос и кошмар!

LVV>System.Data, ADO.NET, ASP.NET, WPF, WCF — чтобы создать ПРОСТОЕ приложение.

Ну так вы определитесь, что нужно в итоге.

Готовый продукт, т.е. штука, которая работает в реальном окружении и решает реальные проблемы?
Или заготовка для разобраться, которая дальше написал-проверил-выбросил не пойдёт?
Бюджет (не в деньгах, по усилиям) разный на порядок минимум.


По факту для обоих вариантов достаточно будет asp.net mvc + любого orm-провайдера, всё остальное — это народ уже увлёкся.
Re[2]: Вопросы новичка
От: andrey82  
Дата: 25.04.16 07:07
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>System.Data, ADO.NET, ASP.NET, WPF, WCF — чтобы создать ПРОСТОЕ приложение.

И конечно вершина технологий — WTF
Издержки многослойности, что поделать.

LVV>А в какой книжке написано, как создать клиент-серверное приложение 2+2 ?

Эээ... точно хочется просто клиент-сервер (2х звенку)? Как этап в изучении в принципе полезно (из программы к БД обращаться в любом случае придется), но для production так делать я бы не советовал (повторяюсь). В этом случае список сокращается до 2 позиций — минимально понадобится средство для пользовательского интерфейса (WPF ну или даже Winforms) и для доступа к БД (чистый ADO.NET или все-же ORM какой-нибудь, скажем linq2db).
Re[3]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 07:19
Оценка:
LVV>>Вообще — ужос и кошмар!
LVV>>System.Data, ADO.NET, ASP.NET, WPF, WCF — чтобы создать ПРОСТОЕ приложение.
S>Ну так вы определитесь, что нужно в итоге.
Дык — откуда же я знаю...
S>Готовый продукт, т.е. штука, которая работает в реальном окружении и решает реальные проблемы?
S>Или заготовка для разобраться, которая дальше написал-проверил-выбросил не пойдёт?
S>Бюджет (не в деньгах, по усилиям) разный на порядок минимум.
1. НЕ ПРОМЫШЛЕННЫЙ продукт.
С целью первоначального освоения и по-совместительству — приносящий некую пользу кафедре в виде психологического тестирования студентов.
2. Поскольку время у меня не ограничено сроками сдачи — продукт можно развивать по мере освоения .
Ну, или в некоторый момент — просто переписать...
S>По факту для обоих вариантов достаточно будет asp.net mvc + любого orm-провайдера, всё остальное — это народ уже увлёкся.
orm-провайдер — это вот это: https://ru.wikipedia.org/wiki/ORM ?
Я последний раз с БД дело имел голу примерно в 90-м...
Когда на Клиппере писал. С тех пор — в завязке...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 07:26
Оценка:
LVV>>А в какой книжке написано, как создать клиент-серверное приложение 2+2 ?
A>Эээ... точно хочется просто клиент-сервер (2х звенку)?
Да больше и не надо. Может быть, потом — когда-нибудь — появится необходимость.
Но пока я ее не вижу.
Продукт-то — для внутреннего употребления...
A>Как этап в изучении в принципе полезно (из программы к БД обращаться в любом случае придется), но для production так делать я бы не советовал (повторяюсь). В этом случае список сокращается до 2 позиций — минимально понадобится средство для пользовательского интерфейса (WPF ну или даже Winforms) и для доступа к БД (чистый ADO.NET или все-же ORM какой-нибудь, скажем linq2db).
Как это в одной проге сделать — я еще примерно представляю.
А как в двух ?
Клиент-то тонкий.
Только данные от пользователя берет и отправляет серверу.
А там принимают и все нужное делают.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Вопросы новичка
От: andrey82  
Дата: 25.04.16 07:34
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Как это в одной проге сделать — я еще примерно представляю.

LVV>А как в двух ?
LVV>Клиент-то тонкий.
LVV>Только данные от пользователя берет и отправляет серверу.
LVV>А там принимают и все нужное делают.
Тогда это уже 3 звена (Тонкий клиент — сервис — СУБД). Варианты реализации уже выше написали:
1) Web интерфейс (ASP.NET MVC либо чистый HTML + JS) и сервис ASP.NET (либо WebAPI)
2) Настольное приложение (WPF) и сервис WCF (В виде службы Windows либо в том же IIS разместить).
Re[4]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 07:36
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>1. НЕ ПРОМЫШЛЕННЫЙ продукт.

LVV>С целью первоначального освоения и по-совместительству — приносящий некую пользу кафедре в виде психологического тестирования студентов.

Эва как... ну ок. Допустим, у вас будут результаты тестирования. Что дальше с ними будут делать? По ним будут выставляться оценки, проводиться какой-то анализ, ещё что-то?
У вас запросы из разряда "я хочу сделать что-нибудь несложное... ну, например, боинг". И пока не понятно, речь про модельку, или про покупку компании



S>>По факту для обоих вариантов достаточно будет asp.net mvc + любого orm-провайдера, всё остальное — это народ уже увлёкся.

LVV>orm-провайдер — это вот это: https://ru.wikipedia.org/wiki/ORM ?
Любой инструмент для работы с данными. В вашем случае я бы просто начал с класса-заглушки, потом прикрутил бы реальный бэкенд, если дело до этого дойдёт
Re[5]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 10:08
Оценка:
LVV>>1. НЕ ПРОМЫШЛЕННЫЙ продукт.
LVV>>С целью первоначального освоения и по-совместительству — приносящий некую пользу кафедре в виде психологического тестирования студентов.

S>Эва как... ну ок. Допустим, у вас будут результаты тестирования. Что дальше с ними будут делать? По ним будут выставляться оценки, проводиться какой-то анализ, ещё что-то?

Вообще цель — определить список профессионально важных качеств (ПВК) программиста.
ПВК — это такой психологический термин.
Удивительно, но мне не удалось обнаружить общепризнанный явный список ПВК программистов.
Все — вокруг да около.
В огромном количестве статей-книжек описываются разнообразные исследования качеств программиста, но все они делаются по принципу:
— программисты должны обладать вот таким качеством, давайте проверим.
А тут надо по-другому: собрали программистов (или студентов) — и протестировали по всем возможным тестам.
А потом смотрим статистику по качествам и сопоставляем с профессионализмом и успехами в изучении программирования.
S>У вас запросы из разряда "я хочу сделать что-нибудь несложное... ну, например, боинг". И пока не понятно, речь про модельку, или про покупку компании
Дык, понимаешь, какое дело...
Слепить настольную систему для одного пользователя — я б и не спрашивал никого.
Это максимум неделя даже на Додиезе — без использования БД, просто на файлах.
А клиент-сервер — это для меня абсолютное новье.
Я ж вообще с БД последний раз имел дело 25 примерно лет назад — тут самая для меня засада и есть.

S>>>По факту для обоих вариантов достаточно будет asp.net mvc + любого orm-провайдера, всё остальное — это народ уже увлёкся.

LVV>>orm-провайдер — это вот это: https://ru.wikipedia.org/wiki/ORM ?
S>Любой инструмент для работы с данными. В вашем случае я бы просто начал с класса-заглушки, потом прикрутил бы реальный бэкенд, если дело до этого дойдёт
Ну дык я в первом посте написал, что вместо БД пока хочу заместителя использовать...
Дойдет. Я — упёртый...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Отредактировано 25.04.2016 10:11 LaptevVV . Предыдущая версия .
Re[2]: Вопросы новичка
От: Vladek Россия Github
Дата: 25.04.16 10:36
Оценка: :))
Здравствуйте, LaptevVV, Вы писали:

LVV>Вообще — ужос и кошмар!

LVV>System.Data, ADO.NET, ASP.NET, WPF, WCF — чтобы создать ПРОСТОЕ приложение.
LVV>А в какой книжке написано, как создать клиент-серверное приложение 2+2 ?

Это всё детали реализации (Боб Мартин согласно кивает), а ядро приложения у тебя не должно явно от этого добра зависеть. Не вижу проблем спокойно проектировать ядро, а потом уже навесить всё остальное по мере необходимости.
Re[6]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 10:42
Оценка: 81 (2)
Здравствуйте, LaptevVV, Вы писали:

S>>Эва как... ну ок. Допустим, у вас будут результаты тестирования. Что дальше с ними будут делать? По ним будут выставляться оценки, проводиться какой-то анализ, ещё что-то?

LVV>Вообще цель — определить список профессионально важных качеств (ПВК) программиста.

Я вам сэкономлю время. Достаточно всего двух, терпения и способности самостоятельно обучаться. Оба обязательные. Необязательные, но очень нужные — чувство юмора с самоиронией и здоровый цинизм. Всё.
Это если по делу.


LVV>А тут надо по-другому: собрали программистов (или студентов) — и протестировали по всем возможным тестам.

LVV>А потом смотрим статистику по качествам и сопоставляем с профессионализмом и успехами в изучении программирования.

Не взлетит. Потому что вы собираетесь корелляцию искать, в стиле "британские учёные обнаружили связь между пиратами и потеплением".
Корелляция работает только для оценки всего множества на основе небольшой выборки и не применима к единичным элементам множества.
Это я не говорю про то, насколько "успехи в изучении программирования" соответствуют реальной профпригодности.

Серьёзно, проконсультируйтесь сначала у социологов. Только у нормальных, а не "диплом есть — значит хирург".


В общем, чутьё снова не обмануло — классическая XY-проблема, она же — проблема мангустов в почтовом ящике
Автор: Sinix
Дата: 01.06.14
.
Серьёзно. Начните с реальной проблемы и с реального способа её решения. Определитесь, что относится к технической части, что потребует работы с людьми. Убедитесь, что требования выполнимы и что у вас есть ресурсы для каждой из частей.

Если всего этого не сделать, то в конце у вас будет какой-то продукт и целевая аудитория в 0 человек.
Потом ещё один ушёл и стало их FF
Re[3]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 10:46
Оценка:
Здравствуйте, Vladek, Вы писали:

V>а ядро приложения у тебя не должно явно от этого добра зависеть.


Вот за что я люблю хардкор-программистов. В отличие от девелоперов, к моменту, когда выясняется, что сама задача поставлена неверно
Автор: LaptevVV
Дата: 25.04.16
, они уже коммитят код
Re[4]: Вопросы новичка
От: Vladek Россия Github
Дата: 25.04.16 10:57
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Вот за что я люблю хардкор-программистов. В отличие от девелоперов, к моменту, когда выясняется, что сама задача поставлена неверно
Автор: LaptevVV
Дата: 25.04.16
, они уже коммитят код


Какие-то тесты, сбор и обработка статистики по результатам тестирования, набор качеств на выходе — вот это и есть ядро, вещь в себе. Остальная часть системы общается с ядром в режиме вопрос-ответ и ядро не волнует откуда пришёл вопрос и куда полетит ответ.
Re[5]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 10:59
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Какие-то тесты, сбор и обработка статистики по результатам тестирования, набор качеств на выходе — вот это и есть ядро, вещь в себе.

Прелесть ситуации в том, что топикстартеру оно никак не поможет, т.к. поставленная задача если и решается, то точно не предложенным способом, в ответе на тот пост расписал кратко.
Re[4]: Вопросы новичка
От: Vasiliy2  
Дата: 25.04.16 11:17
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>>>А в какой книжке написано, как создать клиент-серверное приложение 2+2 ?

A>>Эээ... точно хочется просто клиент-сервер (2х звенку)?
LVV>Да больше и не надо. Может быть, потом — когда-нибудь — появится необходимость.
LVV>Но пока я ее не вижу.
LVV>Продукт-то — для внутреннего употребления...

Если все настолько просто, то можно не морочится со всякими ADO.Net, WCF, ORM.
Достаточно сделать простой класс с простыми паблик проперятми, описывающим вопрос и в 2 строки сериализовать список этих объев в XML по пути на сервере (или другом компьютере) в расшареную папку, права на которые будут заданы на уровне файловой системы. Для знакомства с основами C# этого будет достаточно и не потребует много времени на разработку.
Re: Впросы новичка
От: Yoriсk  
Дата: 25.04.16 11:17
Оценка: +2 :))) :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Решил я тут намедни Дотнет с Додиезом и прочими ВПЭФами освоить.


LVV>Тут просится паттерн прокси на место DB.

LVV>Поэтому первое, что автоматом сделал — паттерн Шаблонный метод.
LVV>Хотя Боб Мартин еще советует посмотреть в сторону Стратегии. Пока неясны выгоды того и другого.
LVV>Тут просится Фабрика — это понятно.

Я бы предложил новую парадигму: PDD. Pattern Driven Development. Основная идея данной парадигмы — pattern first, т.е. паттерны должны идти до кода и вообще до и отдельно от любого проектирования. В идеальном случае зилот данного подхода о проекте и его сценариях/проблемах не должен знать вообще ничего.

Как это работает: берёте GoF/Clean Code/... и случайным образом выписываете c десяток-два патернов, после чего пишите их реализацию. Потом берёте реальный проект и запихиваете их туда все, не упуская ни одного. Пусть вас не смущает, что поначалу могут быть неясны выгоды. ̶н̶а̶т̶я̶г̶и̶в̶а̶н̶и̶е̶ ̶с̶о̶в̶ы̶ ̶н̶а̶ ̶г̶л̶о̶б̶у̶с̶ обоснование этих выгод — следующий и финальный шаг данной практики, а вопросы "и как теперь с этим взлететь" выходят за границы применимости и должны быть полностью исключены из рассмотрения.
Re[2]: Впросы новичка
От: Vasiliy2  
Дата: 25.04.16 11:28
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:


AVK>В общем случае интерфейсы использовать всегда, когда можно. Абстрактные классы — только когда интерфейсы не подходят.


Вообще не хочу раздувать очередной флейм, но это не единственная точка зрения в природе. FremeWork Design Guidlines как бы намекает нам в разделе 4.3. что последующая поддержка классов, наследованных от других классов проще во многих случаях, нежели чем от интерфейсов, поэтому здесь надо подходить к этому вопросу осторожно
Re[2]: Впросы новичка
От: Sinix  
Дата: 25.04.16 11:35
Оценка: 6 (1) :)
Здравствуйте, Yoriсk, Вы писали:

Y>Я бы предложил новую парадигму: PDD. Pattern Driven Development. Основная идея данной парадигмы — pattern first, т.е. паттерны должны идти до кода и вообще до и отдельно от любого проектирования. В идеальном случае зилот данного подхода о проекте и его сценариях/проблемах не должен знать вообще ничего.


Так уже.
Re[5]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 13:58
Оценка:
LVV>>Продукт-то — для внутреннего употребления...

V>Если все настолько просто, то можно не морочиться со всякими ADO.Net, WCF, ORM.

V>Достаточно сделать простой класс с простыми паблик проперятми, описывающим вопрос и в 2 строки сериализовать список этих объев в XML по пути на сервере (или другом компьютере) в расшареную папку, права на которые будут заданы на уровне файловой системы. Для знакомства с основами C# этого будет достаточно и не потребует много времени на разработку.
Все эти основы я и так уже знаю...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 14:18
Оценка:
LVV>>Вообще цель — определить список профессионально важных качеств (ПВК) программиста.
S>Я вам сэкономлю время. Достаточно всего двух, терпения и способности самостоятельно обучаться. Оба обязательные. Необязательные, но очень нужные — чувство юмора с самоиронией и здоровый цинизм. Всё.
S>Это если по делу.
Ну, я тут тоже составлял список из 5 качеств...
http://rsdn.ru/?Forum/?fuid=18459

LVV>>А потом смотрим статистику по качествам и сопоставляем с профессионализмом и успехами в изучении программирования.

S>Не взлетит. Потому что вы собираетесь корелляцию искать, в стиле "британские учёные обнаружили связь между пиратами и потеплением".
S>Корелляция работает только для оценки всего множества на основе небольшой выборки и не применима к единичным элементам множества.
Ну, у нас в Астрахани дофига наших выпускников, работающих программистами... Довольно успешно работающих.
S>Это я не говорю про то, насколько "успехи в изучении программирования" соответствуют реальной профпригодности.
По моим неформальным наблюдениям за 20+ лет — довольно хорошо соответствуют.
S>Серьёзно, проконсультируйтесь сначала у социологов. Только у нормальных, а не "диплом есть — значит хирург".
Само собой...
А уж с корреляцией и вероятностью мне тут помогает знакомый доктор-математик, который на этом деле собаку съел.
http://www.mathnet.ru/php/archive.phtml?wshow=paper&amp;jrnid=vagtu&amp;paperid=285&amp;option_lang=rus
http://www.mathnet.ru/php/archive.phtml?wshow=paper&amp;jrnid=vagtu&amp;paperid=351&amp;option_lang=rus

S>В общем, чутьё снова не обмануло — классическая XY-проблема, она же — проблема мангустов в почтовом ящике
Автор: Sinix
Дата: 01.06.14
.

S>Серьёзно. Начните с реальной проблемы и с реального способа её решения. Определитесь, что относится к технической части, что потребует работы с людьми. Убедитесь, что требования выполнимы и что у вас есть ресурсы для каждой из частей.
S>Если всего этого не сделать, то в конце у вас будет какой-то продукт и целевая аудитория в 0 человек.
Да хоть бы и так...

Покуда есть компьютер,
Пока мы с ним друзья —
Мы делать что-то будем,
Иначе жить нельзя!
Не светят нам награды
От фирмы Микрософт.
Но делать что-то надо
Рублей хоть за 500!
(с) Мое...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 17:02
Оценка:
Здравствуйте, LaptevVV, Вы писали:

S>>Это если по делу.

LVV>Ну, я тут тоже составлял список из 5 качеств...
Ссылка в никуда


S>>Серьёзно, проконсультируйтесь сначала у социологов. Только у нормальных, а не "диплом есть — значит хирург".

LVV>Само собой...
LVV>А уж с корреляцией и вероятностью мне тут помогает знакомый доктор-математик, который на этом деле собаку съел.

Ну так сделайте это. Разработка ПО — это не игра в старкрафт, где "туман войны" это обязательная часть геймплея

Всегда сначала протаптывают тропинку пунктиром от "что у меня есть" к "что я хочу получить", выделяют основные этапы, а затем уже уточняют/корректируют их под давлением обстоятельств.

Вы всё равно всё это будете делать. Вся разница: или получится обходить проблемы _до_ того, как они выстрелят, или будете узнавать про них сложным способом.
Выбирайте


Определитесь, какие данные вам нужны, как вы будете приводить эти данные к сравниваемому виду и как будете искать корреляции. Иначе ближе к концу проекта внезапно™ выяснится, что вы сделали всё, кроме того, что вам действительно нужно.
Re[9]: Вопросы новичка
От: LaptevVV Россия  
Дата: 25.04.16 19:41
Оценка:
LVV>>Ну, я тут тоже составлял список из 5 качеств...
S>Ссылка в никуда
Я ж нажал — получить адрес...
Ну, вот цитата:
А вообще, давно хотел написать о качествах программиста.
1. Программисты — люди повышенной честности. И профессия еще усугубляет это качество. Ибо машину не обманешь: что написал, то и получил...
Более того, за многие годы преподавания убедился: если студень пытается словчить на лабораторных и/или зачете-экзамене — из него программиста не получится... Жизнь подтверждает: такие пацаны уходят в другие области. Часто в предприниматели...
2. Программисты — клинические оптимисты! Без оптимизма невозможно отлаживать программы. Программист всегда уверен, что программа вот сейчас заработает.
Вот уже одна маленькая последняя ошибка осталась...
Пессимисты в нашей профессии плохо приживаются. Собственно, мне и не попадалось таких.
3. Программисты — супернастойчивые люди. Додолбить программу до рабочего состояния — это надо быть очень упертым.
Опять же, если у человека это качество отсутствует, то програмист из него не получится.
4. Программист естественно должен обладать аналитическим складом ума. Ибо требуется много анализировать: и предметную область, и поведение программы.
5. Для программиста внутренняя мотивация важнее внешней. Люди, у которых внешняя мотивация (карьера, заработки...) превалирует — со временем уходят из программирования в манагеры-предприниматели-руководители...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Вопросы новичка
От: Sinix  
Дата: 25.04.16 20:24
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, вот цитата:

LVV>А вообще, давно хотел написать о качествах программиста.
А, ну так вы о программистах, они не нужны нынче никому уже, только разработчики. Писал уже.

Без обид, не девяностые как бы. Программисты-кодеры "моя писать код" уже никому не нужны. Нужны разработчики. Разница — тынц. Или, в одно предложение: разработчик — специалист, способный самостоятельно довести идею до реализации в состоянии, готовом для отправки клиенту.

(отсюда
Автор: Sinix
Дата: 19.02.16
).

Т.е. как минимум первые ваши два пункта точно не подходят, остальные — с натяжкой. Здесь оффтоп, если есть желание — выделите отдельную тему, продолжим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.