В этой статье я попробую показать, как создать программу самому, ведь это очень просто. Многие из нас постоянно работают с программами, сложными и попроще, но многие не задумываются, а что-же на самом деле есть программа. Если описать коротко, то программа — это набор инструкций, которые отдаются компьютеру в соответствии с происходящими событиями. Событиями могут быть такие очевидные вещи как нажатие кнопок клавиатуры, перемещение мыши и нажатие ее кнопок. Также событиями, не такими очевидными для непосвященного пользователя, могут быть уведомления от от операционной системы, компьютерного железа таймера, часов, и так далее.
Не буду рассуждать на тему зачем может потребоваться писать самостоятельно программу, у каждого свои причины. Перейдем сразу к установке среды разработки и написанию минимальной программы, которая будет иметь одно окно, в котором будет одна кнопка, при нажатии на которуй программа будет закрываться.
Оглавление к статье
1 . Из чего состоит процесс создания программы
- Разработка алгоритма работы программы.
- Дизайн пользовательского интерфейса. Размеры и свойства окна программы, расположение элементов управление внутри окна (окошки, кнопочки, менюшки и другие) и так далее.
- Написание логики программы. Это именно та часть, которая реагирует на события от нажатия кнопок, события операционной системы и выводит результат своей работы на экран.
2 . Установка среды разработки
Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится программа более функциональная и наглядная чем блокнот. Эта программа называется интегрированной средой разработки (IDE — Integrated Development Eniroenment). Таких сред разработки много — это Microsoft Visual Studio, SharpDevelop, Netbeans, и другие. В данной статье мы будем писать программу под Windows, используя язык програмирования C#, поэтому остановим свой выбор на среде разработки SharpDevelop, которая является бесплатным продуктом с открытым исходным кодом. SharpDevelop содержит в себе все средства, которые нужны для написания полноценной программы: Средство визуального проектирования пользовательского интерфейса, автодополнение кода и многое другое.
КАК СДЕЛАТЬ СВОЮ ПРОГРАММУ ЗА 5 МИНУТ НА ВИНДОВС\DEVEL NEXT FOR WINDOWS
Устанавливать будем последнюю версию, которая доступна для загрузки на сайте разработчика.
Lightbox
Устанавливаем программу, думаю здесь не должно возникнуть сложностей.
После установки запускаем среду разработки.
3 . Создание программы
Нажимаем кнопку New solution, или меню File — New — Solution.
В открывшемся диалоговом окне выбираем: C# — Windows Applications — Windows Application — Название програмы — Create (Создать)
5 Простых Online программ для создания мультфильма
В закладке Projects открываем файл MainForm.Designer, как показано на рисунке.
В закладке Tools выбираемм элемент управления Button (Кнопка), перетаскиваем ее на форму. Теперь у yас форма содержит кнопку.
Давайте ее переименуем, и назначим ей действие — при нажатии кнопки будет закрываться программа.
Переименовуем кнопку: В окне Properties находим свойство Text, Меняем значение Button1 на Close
Назначаем обработчик события нажатия кнопки
Для этого делаем двойное нажатие на кнопке, программа автоматически создаст необходимую функцию Button1Click. Внутри этой функции пишем: this.Close();
При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.
Сделаем что-нибудь посложнее, чем просто вывод текста на экран
В большинстве учебников для начинающих программистов первая программа выводит простое сообщение «Hello world!». Мне кажется это немного тупо, так как для того, чтоб заинтересовать начинающего программиста, нужно показать нечто большее и полезное, нежели просто окно с текстом.
Для того чтоб оценить возможности языка программирования C# и .Net Framework, давайте в нашей программе реализуем возможность выполнения простейших арифметических операций. Мне кажется это будет гораздо полезней.
Итак, давайте создадим следующие элементы интерфейса программы
- Ччетыре кнопки: «+», «-«, «*», «/»
- Три текстовых поля: два для выполнения арифметических операций и один для результата.
- Надписи (Labels)
- Кнопка закрытия окна осталась из примера, рассмотренного ранее
Добавлять элементы интерфейса программы весьма просто — перетягиваем их из панели инструментов в то место окна, где должен находиться элемент.
Обратите внимание, что имя элементов назначаются автоматически и, если не давать им осмысленные имена, и при достаточно боьшом их количестве, очень легко потеряться в хаосе, состоящем из элементов с названиями button1, button2, button3, textBox1, textBox2, textBox3 и так далее. Сразу после создания элемента, не ленитесь, давайте ему осмысленое имя — дальше, при создании обработчиков событий, имена функций будут генерироваться автоматически на основании имени элемента управления. Думаю никто не сомневается в том, что имя функции ButtonAddClick() гораздо более осмысленно, чем Button1Click()
Назначим обработчики событий нажатия кнопок
Выбераем по очереди каждую кнопку. Даблкликом создаем обработчик нажатия кнопки(Click). Если нужно добавить обработчик другого события — следует открыть вкладку События (значек в виде молнии) и там уже выбрать необходимое событие.
Пишем код обработчика
Приведу текст для операции сложения. По аналогии я думаю вы догадаетесь как сделать вычитание и другие виды действий с числами, в плоть до возведения в степень и так далее:
Проверяем работу программы
Обратите внимание, что я пока не реализовал проверку вводимого значения в текстовое поле. Если ввести в него некорректное значение — программа выдаст сообщение об ошибке, в которой сообщается, что вы пытаетесь преобразовать в числовое значение неправильную строку:
Пока все. Если есть вопросы или замечания — пишите в комментах.
Программирование (С#) для тех, кто хочет научиться, но не знает с чего начать
Это статья будет полезна людям, которые хотят получить новые навыки (писать программы), но не знают с чего начать или плохо понимают самые простые термины связанные с программированием. Людям абсолютно любого возраста и образования (достаточно среднего уровня знакомства с операционной системой Windows).
Я много лет программировал на языке С++, но мне захотелось (как хобби,а не для работы) сделать модель системы с хорошей визуализацией процесса. И тут я осознал, что надо использовать другой язык. Выбор пал на С# (читается Си Шарп ), потому что потом его удобно стыковать будет с графикой Unity . Я полез в документацию к языку и подумал: это мне легко начать программировать на новом языке, имея опыт других языков и сред разработки, а кто-то может хочет научиться, но бросает потому что просто не знает куда печатать код программы или как организовать программу, чтобы она делала то, зачем её писали. Поэтому я решил параллельно со своим обучением писать статью, в которой буду рассказывать что и как делать, видя проблемы, с которыми сталкивается новичок, изнутри.
Итак у нас есть компьютер с Windows и желание программировать. Программирование — это создание программы (чаще всего в текстовом виде). Потом эта программа выполняет то, что мы от неё хотим. Сам текст программы надо написать в редакторе.
Затем этот текст при необходимости подвергается отладке ( дебаг ) и упаковывается в файл-программу ( компиляция ). Редактор, который умеет делать отладку и компиляцию называется средой разработки ( IDE ). Я предлагаю использовать одну из самых крутых IDE (которая к тому же предоставляется бесплатно самими Microsoft) Visual Studio. Скачиваем её (версию Community, читается как комъюнити и переводится как «сообщество») с официального сайта и устанавливаем (на диске C желательно иметь около 20 Гб свободного места). Процесс установки интуитивно понятен. Ставим галочку в блоке C# и устанавливаем. Я поставил галочку ещё и в Unity, чтобы не качать и устанавливать его отдельно.
По процессу установки есть огромный кусок документации . Язык в документации переключается в левом нижнем углу, слева в колонке выбор тем, сверху в строке текущий раздел — всё в одном месте интуитивно понятно. Вообще С# имеет документацию, уроки и примеры почти на всех языках и это очень удобно, потому что на все вопросы можно найти ответы, в отличии от многих других языков программирования. Так же у языка имеется развитое комъюнити, так что типичные вопросы можно найти уже заданными кем-то на форумах просто воспользовавшись поиском Яндекса или самому задать, зарегистрировавшись на каком-то форуме по этому языку. Программирование это больше поиск способа решения, чем набор самого кода (текста программы), поэтому зачастую больше времени уходит (даже у опытного программиста) на чтение документации, поиск и изучение вариантов решения похожих задач (библиотек и шаблонов).
Пока скачивается и устанавливается расскажу чуть теории, а потом продолжим.
Основной принцип написания программ
Далее без теории всё равно не обойтись, поэтому я расскажу основной принцип написания программ. Алгоритм работы — это порядок действий сформулированный так, что не допускает домыслов или разных способов выполнения одного и тоже действия. Многие не любят конкретные примеры, но для того чтобы человек понял как работает программа следует поставить программу на место человека, тогда станет понятно отличие логики работы программы от человеческой.
Например жена хочет что-то приготовить и посылает Вас в магазин за продуктами и говорит: купи батон, молоко, если будут зелёные яблоки, то купи один килограмм, если будут красные, то сходи в магазин столько раз, сколько надо, пока не скупишь все красные яблоки.
Человек услышав такое, скорее всего увидев на полке и зелёные и красные яблоки, не купит килограмм зелёных, а скупит все красные. С точки зрения программы все команды выполняются последовательно и если сначала сказано взять килограмм зелёных яблок, то наличие красных будет проверено только после этого.
Чтобы были или зелёные или красные следует сказать » если будут зелёные яблоки, то купи один килограмм, если будут красные, то вместо покупки зелёных сходи в магазин столько раз «. Но тогда программа убедится, что зелёные яблоки есть, но отложит выполнение или отмену до тех пор пока не проверит наличие красных яблок. Эффективнее сказать сначала про красные, а потом про зелёные. На уроках информатики принято рисовать блок-схемы алгоритмов, но на практике к ним прибегают очень редко и они содержат много придуманных только что, но наглядных элементов. Нарисуем алгоритм этой задачи от жены (после дебага), используя для действий прямоугольник, для условий ромб.
Как научиться писать код быстро — отвечают эксперты
Существуют ли какие-то техники, чтобы научиться быстро писать код? Спросим у наших экспертов.
Кирилл Хлопцев
начальник отдела разработки Центра программных решений «Инфосистемы Джет»
Любой разработчик под фразой «написать код быстро» в первую очередь поймёт «написать плохой код, похожий на работающий». Потому что что в перспективе проекта или продукта в целом единственный способ двигаться быстро — делать качественно. Trade-off качества на скорость возможен только в вещах, которые обречены не попасть в продакшн — прототипы и эксперименты. Чтобы делать качественно — нужно думать: «А как научиться думать быстро?» Только приобретая собственный опыт и изучая чужой.
Готовых индивидуальных техник нет, но есть командные процессы и методики. Agile-методы — как раз тот пример, где утверждается, что если разработчик понимает задачу, которую решает, продукт, который создаёт, находится в среде без барьеров и работает с понятным кодом (пусть даже чужим), то он будет максимально эффективен. Практически любой разработчик стремится писать код качественно и быстро, если нет факторов, которые мешают ему это делать. На устранение этих факторов — вроде нечёткого технического задания, некорректного понимания концепции создаваемого продукта, проблем с коммуникацией внутри команды или спутанного предшественниками кода — как раз и направлены современные подходы к разработке.
Из ошибок, которые сказываются в первую очередь на скорости кодинга, я бы выделил две. Первая заключается в преждевременной оптимизации, когда для решения задач специалист начинает придумывать сложные способы реализации, уповая на то, что в дальнейшем это решение будет использовано в других задачах либо в намного более жестких условиях, чем задумывалось.
Приведу случай из практики: стоит задача проконтролировать входящий документ по базовому набору правил. Разработчик, не получив достаточно вводной информации, решает, что таких правил и форматов текста будет не 5, а 150. А документов не 5 в секунду, а 500.
Поэтому он решает сделать отдельный масштабируемый сервис с библиотекой подключаемых правил, что занимает существенное время (хотя в будущем, может, и не будет использоваться вовсе). Да, во многих случаях такие решения оказывается верными, но всё равно потребуют переработки. Конечно, это не означает, что нужно стремиться к предельному упрощению, но в отсутствие полноты понимания задачи нужно делать простые и понятные решения, готовые к рефакторингу.
Вторая ситуация может сложиться в силу любознательности, которая свойственна любому разработчику. Его тянет к знаниям, к работе с чем-то новым. Иногда это играет с ним злую шутку: нередко случается такое, что программист принимает решение использовать в работе новую технику или фреймворк, не зная всех подводных камней, а после тратит время на исправление собственных ошибок. В проектах, где требуется скорость и нет возможности провести эксперименты, зачастую идёт работа с проверенным стеком, без bleeding-edge-фреймворков. Что зачастую заставляет разработчиков скучать, но в хороших компаниях это понимают и стараются такие задачи чередовать с исследовательскими или внутренними стартапами.
Общему ускорению способствуют различные agile-методики, тот же Scrum, например, помогает убрать «белые пятна» в понимании задачи и продукта, получить поддержку команды и, что самое главное, самому чётко определить для себя план действий. Конечно, немаловажно тут и наличие хороших инструментов вроде современного компьютера и удобного рабочего места, актуальных средств разработки, выстроенных процессов CI/CD — той среды которая минимально отвлекает от решения основной задачи.
2019-06-29T11:12:07+03:00
Рейтинг полезности ответа:
Семен Тараканов
разработчик Galileosky
Быстро напишет код тот, кто уже много написал и у кого уже есть достаточный опыт. Тут никаких уловок нет. Конечно, скорость написания зависит от фреймворка (или языка программирования). И именно задача определяет фреймфорк, а не программист.
Более того, зачем писать код быстро? На самом деле надо получить решение задачи, то есть быстрее её выполнить. Тут надо не только писать код, но и подходить системно к решению задачи.
Среди системных подходов решения задач очень популярен agile-подход, когда ты итеративно разрабатываешь проект. Это позволяет работать эффективнее, а значит быстрее решать задачу.
2019-06-29T11:12:07+03:00
Рейтинг полезности ответа:
Михаил Андрейков
Senior .NET Developer в «Циан»
Стоит чётко понимать, что количество кода не эквивалентно объёму задач, которые он решает. Не стоит гнаться за количеством символов, но есть ряд методов, которые точно ускорят написание кода.
Изучите «горячие клавиши» вашей ОС и IDE
Многие операции, которые программист выполняет каждый день по несколько раз, можно делать быстрее, если знать «горячие клавиши» этих действий. К примеру:
- Ctrl+Shift+стрелки влево и вправо позволяют выделять несколько слов целиком;
- Ctrl+Shift+B — собрать проект.
У продуктов JetBrains есть даже такое окно «Search Everywhere», в котором можно написать название команды и найти «горячую клавишу» для этого действия.
Шаблоны
Очень часто программист пишет похожие блоки кода. Чтобы каждый раз не набивать этот код, можно использовать шаблоны. Шаблон — это блок кода, в котором необходимо лишь заменить переменные, и мы получаем работающий код. Особенно это полезно, когда пишутся тесты. Там встречается много однотипных вещей.
Библиотеки
Если вы решаете типичную задачу, то, вероятно, уже есть библиотека, которая умеет делать то, что вы хотите, и делает это без багов (не всегда). Поэтому перед решением задачи сделайте небольшое исследование и посмотрите, нет ли уже готового.
Автоматизируйте ваш процесс
Старайтесь автоматизировать процесс разработки как можно больше. Простые вещи, которые можно автоматизировать уже сейчас:
- создание ветки от мастера в один клик;
- развёртывание проекта локально или в контейнере одной командой.
Слепая печать
Пожалуй, самый популярный ответ на то, как печать код быстрее. Тут всё просто — это надо уметь. Можно овладеть этим навыком не в полной мере, но всё-таки это необходимо.
Источник: tproger.ru
Лайфхаки для студентов: как создать на компьютере конспект, «написанный от руки»
Многие преподаватели принципиально не принимают к проверке напечатанные конспекты. При наличии рукописного конспекта у вас повышаются шансы получить зачет «автоматом» или просто допуск к зачету или экзамену.