Я хочу бути найкращим, як ніхто ніколи не був ... - Частина 1

Гаразд, значить, ви, мабуть, тут, тому що хочете дізнатися більше про світ інженерії програмного забезпечення, або ви новачок у галузі кодування, і хочете знати, які кроки вам слід зробити, або, можливо, у вас є досвід роботи зі школи або онлайн-курс, але ви застрягли, вивчивши якийсь синтаксис і не знаєте, куди піти звідти. Що ж, всі вітаються.

Ця стаття пролиє світло на правильні кроки, які потрібно зробити, щоб стати чудовим розробником програмного забезпечення, грунтуючись на моєму досвіді та розумінні, коли я намагаюся розбити кожен крок на шляху того, що, на мою думку, є найважливішим моментом перелому для створення міцного фундаменту увійти у світ кодування. Я висвітлю найпоширеніші помилки, за якими я бачив інших, і, можливо, навіть деякі мої помилки (⊙.⊙).

«Подорож найкращим починається одним кроком, але не кожен може зробити всі кроки, необхідні для досягнення вершини. Немає ярликів до успіху. Кожен зроблений крок - це новий досвід, який є накопиченим, він є неоціненним і не може бути проданий для простішого виходу. Щоб досягти нових висот, треба боротися і зберігати. Розробник настільки ж хороший, як і кількість проблем, з якими він стикається і вирішує "

Хоча цей посібник буде найефективнішим для студентів на початку їхньої інженерної програми програм LONG, я сподіваюся, що він надасть цінну інформацію іншим, хто може також застрягти. Будь то в перший рік, другий рік, або навіть якщо вони перебувають у колії далі у своїй кар'єрі.

Без зайвих прихильностей, зробимо перший крок разом ...

Java - простіший C ++

У середній школі чи коледжі CS1 (Computer Science 1) та CS2 можуть пропонуватись на Java. Це дуже суперечлива перша мова з безлічі причин, але я вважаю, що вона зводиться до цього. Вивчення Java як вашого першого шлюзу у світі коду - це як птах, яку виштовхують із свого гнізда, щоб навчитися літати чи їздити на велосипеді вперше без тренувальних коліс, ви повинні бути поранені. Але пізніше ви будете вдячні, що звикли до болю на початку, тому що Java швидко вводить і вбудовує в вас різні поняття на дуже ранній стадії, такі як і завдяки

  • Об'єкти, примітиви, дужки та дужки як квадратні, так і фігурні
  • Це дуже багатослівна та статично набрана надійна мова
  • Ви будете вводити багато повторюваних речей, які допоможуть покращити швидкість набору тексту для початківців і компактні ключові слова, такі як String і int

Я настійно рекомендую «Синій Пелікан» Чарльза Е. Кука, це абсолютно не схоже на будь-який інший нудний довгий і виснажливий підручник з Java з довгим вступом про історію інформатики та її мету чи авторів, вона доходить до справи простою привіт. світовий приклад, який спирається на більш прості вправи.

Хочете взяти собі копію? Отримайте тверду обкладинку від Amazon сьогодні і почніть робити вправи за допомогою безкоштовного BlueJ IDE

Посилання на книгу: https://amzn.to/2Y0qzaO

Посилання на BlueJ IDE: https://www.bluej.org/

Повернутися до Java, це, безумовно, набагато складніше, ніж простою мовою, як-от Python, але оскільки ви починаєте з більш високих труднощів при переході з Java на іншу мову, як-от Python або JavaScript, в майбутньому буде набагато простіше підібрати і зрозуміти, оскільки ти зійдешся в скруті проти переходу з Python на Java, що зробити надзвичайно важче зміни, оскільки ти повинен змінити весь свій розумний процес.

Отже, якщо ви вже займалися якоюсь Java, які основні контрольні пункти потрібно знати, коли ви готові до більшого? Звідки ви знаєте, коли ви можете підняти рівень?

  1. Усі починаються з першого рівня. Тут ви дізнаєтесь про примітиви, такі як ints, double, buoleans, а також Strings. Ви можете друкувати текст на екрані, друкувати рівняння, вводити вставки в подвійні і навпаки, об'єднувати рядки та числа, а також просто мати справу з основними взаємодіями. Моя порада тут, спробуйте створити калькулятор Chick-Fill-A або (Введіть тут назву улюбленого ресторану), де ви друкуєте гарний екран привітання, показуєте клієнтам замовлення на складені цінності та загальну суму з податком.
  2. Рівень 2 - це те, де речі отримують задоволення. Тут ми вводимо, якщо заяви, для циклів, циклів і сканер вводяться від користувача, щоб зробити більш складні, але все-таки дуже прості програми, такі як Magic 8 Ball, що задає 8 питань, справжній калькулятор ресторану, який вимагає введення користувача, простий текстова гра, яка використовує петлі та введення для відповіді на основні запитання. Це один з найважливіших рівнів на сьогоднішній день, тому дійсно знайдіть свій час, щоб зрозуміти, наскільки потужними є висловлювання та цикли, адже це справді основи інформатики саме там. О, і не забуваймо про методи, спробуйте розібратися, що це за методи і як їх використовувати, перш ніж перейти на наступний рівень, це полегшить твоє життя.
  3. Я думаю, що більшість людей отримують кодування, тому що частина їх хоче зробити наступне велике додаток, або відеоігра, або щось цікаве та інтерактивне. Враховуючи, що рівень 3 є найважливішим першим кроком до досягнення цієї мети, де головним орієнтиром є створення текстової версії Hangman, тепер навіть для тих досвідчених розробників там я хочу, щоб усі спробували це, не використовуючи жодних об'єктів, крім рядків. це означає, що немає Arrays або ArrayLists або String.split (""). На цій стадії на етапі оптимізації чи продуктивності вашого коду навіть не слід думати. Однією з найбільших помилок, яку я бачу в людях, є недооцінка сили струн, і те, наскільки вони цінні, ви можете чесно робити все, і все, що стосується струнних, небо - це межа. Будьте креативні, думайте поза рамками, записуйте свої ідеї на папері замість просто коду, розбивайте кожен крок на щось маленьке і просте логічно, а потім спробуйте це кодувати.
  4. Якщо у вас так далеко, чудова робота! Погладьте себе по спині, а ще краще стрибайте вгору і вниз, кричачи від радості, бо єдино вціліли, хто пережив воїн до цього моменту, ви справді справді добре, але подорож тільки почалася. Після Hangman, настав час дізнатися про структури даних, які Java може запропонувати, насамперед, масиви, ArrayLists, HashMaps, набори, стеки, черги, LinkedLists та дерева. Звичайно, не все одразу, рівень 4 - це просто освоєння масивів та ArrayLists. Спробуйте зробити невелике моделювання продуктового магазину, де ви можете вводити різні команди, щоб додати або видалити або замінити товари з кошика.
  5. Тепер, коли ви дізналися магію списків масивів та масивів, поверніться та зробіть вішалку набагато кращим. Але, можливо, дізнайтеся про набори спочатку, і це може полегшити деякі речі.
  6. Навчіться використовувати сканери для читання текстових файлів, а потім порахуйте, скільки разів кожна буква відображається спочатку, ПОРАДА: ВИКОРИСТУЙТЕ HASH MAP. Роздрукуйте номер кожної літери у великій книзі, наприклад, Мобі Дік або «Казки про два міста», слідкуйте за тим, як триває це, це може зайняти деякий час, але ви можете шукати оптимізації, щоб зробити цей процес швидшим. Якщо ваш код займає години, ви робите щось дуже неправильно.
  7. Стеки, черги, пов’язані списки, дерева - це все, про що ви з часом дізнаєтесь у класі структури даних, тому не переживайте надто багато, це не так важливо для створення цікавого додатка. Тут я хочу, щоб ви дізналися про API, дізналися про Maven, саме так ви використовуєте код, який хтось інший написав у власній програмі, щоб зробити щось значиме. Це також чудовий час, щоб зупинитись та вивчити основи Github, тому що ви будете використовувати його протягом усього життя. Спробуйте витягнути деякі новини новин з Reddit або загляньте в JavaFX, щоб зробити настільні програми з користувальницьким інтерфейсом.
  8. Ще один абсолютний обов'язок, який повинен зробити кожен новий програміст, - це створити гру. Зараз я не говорю про щось на кшталт Call of Duty, про 3D ще не думаю. Просто проста 2D гра: спочатку отримуйте спрайт для переміщення по екрану, а потім, можливо, додайте ворогів для переміщення, стріляючи снарядами, а згодом потрапляючи на бічні скроллери та платформери, такі як Zelda, Mario або Pokemon. Щоб дізнатися, як зробити це на Java, сайт нижче є абсолютним найкращим місцем, я можу порекомендувати, що я сильно використовувався під час першого навчання 2D-ігор. Вони дуже легко дотримуються навчальних посібників, які висвітлюють основи від початку. http://zetcode.com/tutorials/javagamestutorial/

На сьогоднішній день ви отримали еквівалентний досвід, як, можливо, 1-2 роки Java в середній школі чи коледжі. Цього недостатньо, хоча для реальної роботи або навіть стажування вам потрібно знати, як підключитися до зовнішніх систем, як робити дзвінки API REST, працювати з інтерфейсом на певному рівні та читати запис у базу даних. Ви повинні пишатися тим, де ви знаходитесь і як ви сюди потрапили, але не будьте поступливими. Тепер ви на справжній стартовій лінії. Як частина найкращого керівництва по досягненню вершини, будучи найкращим інженером-програмістом, природним прогресом від Java було б навчитися розробці додатків для Android, оскільки Android написаний на Java. Тут ви можете скористатись основними логічними навичками, які ви засвоїли, і підключити їх до інтерфейсу користувача, до більшої кількості сенсорів та інформації, до Інтернету, а також до всіх можливостей, які має телефон у наші дні, у світі, устриця.

Це була лише частина 1 мого посібника, щоб бути найкращим, дивіться частину 2, яка детально піде про те, як стати професійним розробником андроїдів від початку роботи з проектами та API, з якими потрібно працювати. Надалі може бути, а може і не бути, відео серіал, присвячений детальному вивченню прикладів кодування практичного та реального життя від Hangman до настільного додатку за допомогою JavaFX, залишайте коментарі щодо того, що ви хотіли б побачити та які інтеграції ви б хочете зробити, можливо, щось із Spotify?