Задать вопрос
@refoq

Как начать писать код?

Вроде основы выучил, понимаю как и что работает, но когда собираюсь написать какое-то свое приложение(например змейку, weather app и тд.) падаю в ступор и не знаю с чего начать. Возможно это не набитая рука или какие-то другие причины? Как это возможно решить?
  • Вопрос задан
  • 491 просмотр
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 8
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
Напиши сперва hello world
потом усложни.
А уже потом попробуй змейку.

Вроде основы выучил,


Вот тут проблема. Основы ты не выучил, а просмотрел. Выучил, это когда на практике попробовал и у тебя много раз получилось.
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
https://qna.habr.com/q/825593

Если прочитал/посмотрел, вроде всё понял, но впадаешь в ступор при попытке применять, то это "иллюзия компетентности", весьма частое когнитивное искажение, которое успешно продают авторы курсиков. Оно означает, что на самом деле вы ничего не поняли, просто обманули свой мозг, и надо сменить стратегию обучения.
Ответ написан
Комментировать
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
  1. Создать ТЗ - расписать основную логику, принципы и задачи приложение
  2. Создать Частное ТЗ - вот взять ТЗ и по нему расписать все алгоритмы, логику каждого элемента интерфейса во всех их вариантах, источники данных - форматы и прочее, какие-то дополнительные АПИ, системы, интерфейсы и прочее
  3. Сделать декомпозицию - т.е., разбивка приложения/задачи на более мелкие подзадачи/подсистемы/модули и прочее
  4. Детально проработать внутреннюю архитектуру приложения, которая будет решать поставленные задачи - тут уже можно делать наброски классов, интерфейсов, структур данных и прочее
  5. Создать список задач и/или группы задач - каждая задача решает одну проблему на своем уровне
  6. Ну а далее - просто берем задачу и пишем по ней код, до тех пор, пока все задачи не будут решены. Для удобства можно сначала написать тесты, а в процессе выполнения задач довести тесты до 100% выполнения.
Ответ написан
Комментировать
Повторить любую простую программу, лично я взял psd шаблон плеера и перенёс его в win forms, прикрутил БД. Наступил на кучу проблем, но сделал онлайн плейер, который играет мои ссылки. Просто найти любую понравившуюся программу повторить, а дальше делать своё. Я так делал
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Это нормально. Просто не хватает практики. Например змейка (и другие игры) в основе своей несут цикл обработки событий. Клавиатурных. Или событий таймера... не важно. Тоесть ты можешь сразу писать

while(true) {
 event = waitForEvent()
 ...
}


И это будет некий каркас для любой игры.
Ответ написан
Комментировать
NikFaraday
@NikFaraday
Student full-stack Developer
Это главная проблема всех новичков, вы не один такой!

1), вам нужно проанализировать, что вы вообще хотите написать и как оно должно выглядеть.
2) Разработать логику взаимодействий внутри вашей программы
3) С чего начать? Запустите ваш проект! Что вы там видите? А что хотели бы видеть? Хотели видеть страницу регистрации? Значит с неё начинайте! Хотели видеть главное меню игры? С него и начинайте! Хотели видеть окно выбора персонажа или сцену вступления? С неё и начинайте!
Главное помните, что такие процессы ИТЕРАНИВНЫЕ. Если вы столкнётесь с трудностями и захотите переписать проект - удаляйте старый и пишите новый! Вы набьёте на этом руку САМИ и будете знать, после старого проекта, что вам нужно сделать в ПЕРВУЮ ОЧЕРЕДЬ, когда вы будете писать его заново
Ответ написан
maaGames
@maaGames
Погроммирую программы
Начинай с проектирования. К программированию пора приступать, когда хотя бы догадываешься, что собираешься программировать. Не "как программировать?", а именно "что программировать?".
Рекомендую чутка поизучать UML, можно будет очень многие проблемы решить не приступая к рпограммированию.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Я обычно пишу main
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы