Як написати програму

У наші дні комп`ютерні програми використовуються всюди, від автомобілів до смартфонів, майже на кожній роботі. Оскільки світ стає все більш і більш цифровим, потреба в нових програмах завжди буде збільшуватися. Якщо у вас є аналогічна ідея, чому б не зробити це самостійно? див. Крок 1 нижче, щоб дізнатися, як почати вивчати мову, розвивати свою ідею на тестованому продукті, а потім виконувати його перевірки, поки він не буде готовий до випуску.

кроки

Частина 1 з 6:
Придумайте ідею
1. генеруйте ідеї. Хороша програма виконає завдання, яка робить життя простіше для користувача. Подивіться на програмне забезпечення, яке в даний час є для завдання, яку хочете виконати, і подивіться, якщо є способи, щоб процес став простіше або глаже. Успішна програма - це те, в чемпользователі знайдуть багато корисного.
  • Вивчіть свої щоденні завдання на комп`ютері. Чи є який-небудь спосіб, з помощьюкоторого ви могли б автоматизувати частину цих завдань, використовуючи програму?
  • Запишіть всі ідеї. Навіть якщо це здається дурним або діковіннимв цей момент, все може змінитися в щось корисне або навіть блискуче.
  • 2. Перевірте інші програми. Що вони роблять? Як вони могли б зробити це краще? Чого їм не вистачає? Відповіді на ці питання можуть допомогти вам самим придумати ідеї для написання програми.
  • 3. Напишіть проектдокумента. Цей документ намітить можливості, а також те, чого ви маєте намір досягти за допомогою проекту. Посилання на проект документа під час процесу розробки допоможе направити ваш проект в потрібне русло і буде мати цілеспрямований характер. Прочитайте Керівництво для отримання докладної інформації щодо написання документа. Створення проекту документа також допоможе вам вирішити, яка мова програмування буде працювати краще для вашого проекту.
  • 4. Почніть з простого. Коли ви тільки знайомитеся з комп`ютерним програмуванням, то подбати вам почати з малого і рости з плином часу. Ви дізнаєтеся набагато більше, якщо встановите реальні цілі, яких можете досягти з основною програмою. наприклад,
  • Частина 2 з 6:
    Вивчення мови
    1. Загрузітехорошій текстовий редактор. Майже всі програми написані в текстових редакторах, а потім скомпільовані для роботи на комп`ютерах. У той времякак ви можете використовувати такі програми, як Блокнот або TextEdit, настійно рекомендуємо вам завантажити редактор з підсвічуванням синтаксису (наприклад, Notepad + +, JEdit або Sublime Text). Це дозволить вам набагато легше візуально розбирати код.
    • Деякі мови, такі як Visual Basic, включають редактор і компілятор в одному пакеті.
  • 2. Вивчайте мову програмування. Всі програми створюються за допомогою кодування. Якщо хочете створювати власні програми, тодолжни бути знайомі хоча б з одним мовою програмування. Мови, які повинні будете вивчити, будуть варіюватися в залежності від типу програми, яку ви хочете створити. Кнаіболее корисним і важливим з них відносяться:
  • C - З є мовою низького рівня, який тісно взаємодіє з апаратною частиною комп`ютера. Це один зі старих мов програмування, який як і раніше має широке застосування.
  • C ++ - найбільшим недоліком C є те, що він не об`єктно-орієнтована. Тут стане полезнимC++ . C ++ в даний час є найпопулярнішою мовою програмування в світі. Такі програми, як Chrome, Firefox, Photoshopі багато інших созданис помощьюC++ . Він також є дуже популярною мовою для створення відеоігор.
  • Java - Java є розвитком мови С ++, він надзвичайно портативний. Більшість комп`ютерів, незалежно від операційної системи, може запустити віртуальну машину Java, дозволяючи програмі бутивикористана майже повсюдно. Він широко використовується в відеоіграх і програмному забезпеченні для бізнесу і часто рекомендується в якості основного мови.
  • C # - C # є мовою на основі Windows, це одним з основних мов, що використовуються при створенні програм Windows. Він тісно пов`язаний з Java і C + +, еголегко вивчити, якщо ви вже знайомі з Java. Якщо ви хотітесоздать програму для Windows або Windows Phone, вам слід прісмотретьсяк цій мові.
  • Objective-C - це ще один «кузен» мови C, який спеціально призначений для систем Apple. Якщо ви хочете створити iPhone або IPad додатки, ця мова для вас.
  • 3. Загрузітекомпілятор або інтерпретатор. Для будь-якої мови високого рівня, такого як C ++, Java і багатьох інших, вам знадобиться компілятор для перетворення коду в формат, який може використовувати комп`ютер. Є безліч компіляторів на вибір в залежності від мови, який ви використовуєте.
  • Деякі мови є інтерпретуються мовами, а це значить, що їм не потрібен компілятор. Замість цього їм потрібен тільки інтерпретатор мови, встановлений на комп`ютері, і програми зможуть запускатьсямгновенно. Деякі приклади різних мов включають Perl і Python.
  • 4. Вивчіть основні поняття програмування. Незалежно від того, яку мову ви вибираєте, вам, ймовірно, потрібно зрозуміти деякі основні загальні принципи. Знаючи, як поводитися з синтаксисом мови, ви зможете створювати набагато більш потужні програми. Загальні концепції включають в себе:
  • Оголошення змінних - змінні є способом тимчасового зберігання ваших даних у вашій програмі. Ці дані можуть бути збережені, змінені, на них можна влият звертатися пізніше в програмі.
  • Використання умовних операторів (if, else, when, і ін.) - це одна з основних функцій програми, вона описує, як працює логіка. Умовні оператори пов`язані з «true» (істинними) і «false» (помилковими) твердженнями.
  • Використання циклів (for, goto, do, etc.) - цикли дозволяють повторювати процеси знову і знову, поки не буде дана команда зупинитися.
  • Використання керуючих послідовностей - ці команди виконують такі функції, як створення нових ліній, відступів, цитат і багато іншого.
  • Коментування коду - коментарі необхідні для запам`ятовування того, що робить ваш код, допомагаючи іншим програмістам зрозуміти код, а також для тимчасового відключення частини коду.
  • Розберіться собичнимі виразами.
  • 5. Знайдіть декілька книг по обраному вами мови. Є книги для кожної мови і для кожного рівня знань. Ви можете знайти книги по програмуванню в вашому місцевому книжковому магазині або будь-якому інтернет-магазині. Книга може стати безцінним інструментом, коли ви можете тримати її під рукою під час роботи.
  • Крім книг, Інтернет є нескінченною сокровіщніцейруководств і підручників. Пошукайте навчальні пособіяпо обраному вами мови на таких сайтах, як CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools і багатьох інших.
  • 6. пройдіть курси. Будь-яка людина може научітьсясоздавать програму, якщо вони уделіліетому увагу.Але іноді мати вчителя і навчальну обстановку може бути дуже корисним. Час, проведений один на один з експертом, може значно зменшити час, необхідний вам, щоб зрозуміти основи програмування і концепції. Заняття - це також гарне місце, щоб вивчити вищу математику і логіку, які будуть необхідні для більш складних програм.
  • Заняття коштують грошей, тому переконайтеся, що ви підписуєтеся на курси, які допоможуть вам вивчити те, що ви хочете знати.
  • 7. Задавайте питання. Інтернет - фантастичний спосіб підтримувати зв`язок із іншими розробниками. Якщо ви виявили, що зайшли в глухий кут в одному з ваших проектів, зверніться за допомогою на такі сайти, як StackOverflow. Переконайтеся, що ви питаєте в інтелігентній манері і можете довести, що ви вже пробували кілька можливих рішень.
  • Частина 3 з 6:
    Створення вашого прототипу
    1. Почніть писати основну програму з базової функціональності. Це буде прототип, який показує функціональні можливості, які ви прагнете досягти. Прототип являє собою швидку програму, яка повинна прогоняться до тих пір, поки ви не знайдете розробку, яка працює. Наприклад, якщо ви створюєте програму календар, ваш прототип буде основним календарем (з правильними датами!) І спосіб додавання подій до нього.
    • Ваш прототип буде часто змінюватися протягом циклу розробки, у міру того, як ви придумаєте нові шляхи вирішення проблем або придумаєте ідею пізніше, яку ви хочете включити.
    • Прототип не повинен бути гарненьким. Насправді, мистецтво і дизайн повинні бути одними з останніх речей, на яких ви зосереджені. Використовуючи знову приклад календаря, ваш прототип повинен, швидше за все, бути просто текстом.
    • Якщо ви створюєте гру, ваш прототип повинен бути веселим! Якщо прототип невеселий, то у вашої повної гри є шанси не бути веселою теж.
    • Якщо бажана механіка просто не працює в прототипі, то може бути времявернуться до креслярської дошці.
  • 2. Зберіть команду. Якщо ви розробляєте програму на свій розсуд, ви можете використовувати прототип, щоб допомогти побудувати команду. Команда допоможе вам швидше відстежити помилки, ітераційні особливості, а також розробити візуальні аспекти програми.
  • Команда, безумовно, не є необхідною для невеликих проектів, але значно скоротить час розробки.
  • Запуск команди є складним і важким процесом, це вимагає хороших навичок управління поряд з хорошою структурою для команди. Прочитайте це керівництво для більш докладної інформації про управління групою.
  • 3. Почніть з нуля, якщо це необхідно. Як тільки ви познайомитеся з вашим мовою програмування, ви зможете отримати прототипи і запустити ихв протягом декількох днів. Через їх швидкості не бійтеся відмовитися від вашої ідеї і починайте все спочатку з іншого підходу, якщо ви незадоволені тим, як вона працює. Набагато легше зробити серйозні зміни на даному етапі, чемпозже, коли особливості починають "ставати на свої місця".
  • 4. коментуйте все. Використовуйте синтаксис коментаря на вашій мові програмування, щоб залишати замітки про все, крім самих основних рядків коду. Це допоможе вам запам`ятати, що ви робили, якщо ви повинні залишити проект на деякий час, і допоможе іншим розробникам зрозуміти ваш код. Це особливо важливо, якщо ви працюєте як член команди програмування.
  • Ви можете використовувати коментарі для тимчасового відключення частин коду під час тестування. Просто виділіть код, який потрібно відключити, в синтаксисі коментаря, і він не буде компілюватися. Ви можете видалити синтаксис коментарів, і код буде відновлений.
  • Частина 4 з 6:
    Альфа-тестування
    1. Зберіть команду тестувальників. На стадііальфа-тестування команда тестувальників може і повинна бути невеликою. Невелика група допоможе вам отримати цілеспрямовану зворотний зв`язок і дає вам можливість взаємодіяти з тестувальниками один на один. Кожен раз, коли ви робите оновлення з прототипом, новиеконструкціі відправляються до альфа-тестерів. Тестери тогдапробуют всі включені функції, а також намагаються зламати програму, документуючи свої результати.
    • Якщо ви розробляєте комерційний продукт, ви хочете переконатися, що всі ваші Тестеровщик підписали угоду про нерозголошення інформації (NDA). Це вбереже їх від розповідаючи іншим про вашу програму і запобігання витокам в пресі та іншим користувачам.
    • Знайдіть час, щоб придумати грунтовний план тестування. Переконайтеся, що ваші тестувальники мають спосіб легкого повідомлення обошібках в програмі, а також легкогодоступа до нових версій альфа-тестування. GitHub і інші сховища кодів є відмінним способом, щоб легко керувати етімаспектом.
  • 2. Тестируйте ваш прототип знову і знову. Помилки є "погибеллю" кожного розробника. Помилки в коді і несподіване використання може викликати всілякі проблеми в готовому продукті. У времяработи з вашим прототіпомпроверяйте його якомога більше. Зробіть все можливе, щоб зламати його, а потім спробуйте захистити від зламу в майбутньому.
  • Спробуйте вводити зайві дати, якщо ваша програма має справу з датами. Дійсно старі дати або дати з далекого майбутнього можуть викликати дивні реакції в програмі.
  • Вводите неправильний вид змінних. Наприклад, якщо у вас є форма, яка запитує вік користувача, введіть слово і подивіться, що відбувається з програмою.
  • Якщо ваша програма має графічний інтерфейс, натискайте по всьому. Що відбувається, коли ви повертаєтеся до попереднього екрана або натискаєте кнопки в неправильному порядку?
  • 3. Надсилайте помилки в порядку черговості. При перегляді програми в альфа-тестірованііви будете витрачати багато часу, фіксуючи особливості, які не працюють правильно. При організації своїх звітів про помилки від ваших альфа-тестеровщіковіх потрібно буде впорядкувати на основі двох показників: Severity (Ступінь строгості) і Priority (Пріоритетність).
  • Severity - ступінь строгості помилки є мірою того, яких збитків викликає помилка. Помилки, коториеразрушают програму, пошкоджують дані, утримуючись програму від запуску, називаються «Blocker». Функції, які не працюють або повертають неправильні результати, позначені як «Critical», тоді кактрудно використовувати або погано виглядають особливо позначені Major. Є також Normal, Minor і Trivial помилки, які впливають на невеликі розділи або менш важливі функції.
  • Priority - пріоритет помилки визначає, в якому порядку ви їх вирішуєте при спробі виправити помилки. Виправлення помилок в програмному забезпеченні є трудомістким процессомі забирає час разом того, чтобидобавлять нові функції і шліфувати. Таким чином, ви повинні прийняти пріоритет помилки до уваги, щоб переконатися, що укладетеся в терміни. Всі помилки Blocker і Critical мають найвищий пріоритет, який іноді називають P1. P2 помилки, як правило, Major помилки, які планується виправляти, але не будуть воздерживать продукт від відправки. Р3 і Р4 помилки, як правило, не планують виправлень і потрапляють в категорію "добре мати".
  • 4. Додайте більше можливостей. Під час альфа-тестування ви будете додавати нові функції в вашу програму, щоб наблизити її до програми, викладеної в документі вашого проекту. Альфа-тестування - етоетап, коли прототип превращаетсяв основу для повної програми. До кінця етапу альфа-тестування ваша програма повинна мати всі його реалізовані можливості.
  • 5. Не відхилятися занадто далеко від вашої початкової проектно-технічної документації. Загальною проблемою в розробці програмного забезпечення є "розростання можливостей в програмах", де нові ідеї додаються, викликаючи втрату основного акценту, і розширення часу розробки між дуже великою кількістю різних функцій. Вам потрібно, щоб ваша програма билалучшей в тому, що вона робить, а не «майстром на всі руки».
  • 6. Протестуйте кожну функцію, коли додаєте її. Когдадобавляете нові функції в вашу программупрі альфа-тестування, отправьтеновий білд вашим тестерам. Регулярність нових білдів буде повністю залежати від розміру вашої команди і наскільки успішно ви створюєте функції.
  • 7. Закрийте свої функції, коли альфа-тестування закінчено. Після того, як ви реалізували всі можливості і функціональність у вашій програмі, можете вийти з альфа-фази. У цей момент ніяких подальших особливостей не повинно бути додано і включені функції повинні працювати по суті. Тепер ви можете перейти в більш широкої перевірки та шліфуванню, відомої як бета-фаза.
  • Частина 5 з 6:
    Бета-тестування
    1. Треба збільшити розмір вашої групи тестування. У бета-фазі програма стає доступною для набагато більш численної групи тестерів. Деякі розробники роблять бета фазу публічної, яка називається відкритим бета-тестуванням. Це дозволяє будь-якому користувачеві зареєструватися та брати участь в тестуванні продукту.
    • Залежно від потреб вашого продукту ви можете чи ні проводітьоткритое бета-тестування.
  • 2. протестуйте підключення. Оскільки програми стають все більш і більш взаємозалежними, є хороша можливість, що ваша програма буде спиратися на зв`язку з іншими продуктами або підключеннями до серверів. Бета-тестування дозволяє переконатися, що ці сполуки працюють під більшим навантаженням, яка буде гарантувати, що ваша програма придатна для використання звичайними користувачами, коли вона буде випущена.
  • 3. Відшліфуйте програмне забезпечення. У бета-фазі функції більше не додаються, тому акцент може бути спрямований на поліпшення естетики і практичності програми. На цьому етапедізайн призначеного для користувача інтерфейсу стає пріоритетом, гарантуючи, що користувачам не складе ніяких трудавиполніть навігацію по програмах скористатися функціями.
  • Дизайн і функціональність UI (користувальницького інтерфейсу) може бути дуже важким і складним. Люди роблять цілу кар`єру на проектуванні призначених для користувача інтерфейсів. Просто переконайтеся, що ваш особистий проект є простим у використанні і простим для сприйняття на око. Професійний інтерфейс може виявитися неможливим без наявності бюджету та команди.
  • Якщо у вас є бюджет, естьмного позаштатних графічних дизайнерів, які потенційно могли б спроектувати користувальницький інтерфейс за контрактом для вас. Якщо у вас є солідний проект, який, як ви сподіваєтеся, стане наступним великим справою, знайдіть хорошого дизайнера призначеного для користувача інтерфейсу і зробіть його частиною вашої команди.
  • 4. Продовжуйте «полювання» на помилки. Протягом усієї бета-фази ви все одно повинні бути внесені в каталог і позначена пріоритетність звітів про помилки з бази користувачів. Оскільки все більше тестерів матиме доступ до продукту, швидше за все, нові помилки будуть знайдені. Ліквідуйте помилки на основі їх пріоритету, дотримуючись остаточних термінів.
  • Частина 6 з 6:
    випуск програми
    1. Знайдіть ринок збуту для вашої програми. Якщо ви хочете отримати користувачів, вам слід переконатися, що вони знають про існування вашої програми. Як ілюбой інший продукт, ви повинні будете трохи прорекламувати програму для того, щоб люди знали. Ступінь і інтенсивність вашої маркетингової кампанії будуть визначатися функцією вашої програми, а також наявним бюджетом. Деякі прості способи для підвищення обізнаності про вашу програму включають в себе:
    • Розміщуйте інформациюї вашій програмі на суміжних дошках оголошень. Переконайтеся, що ви прямуєте правилами розміщення в залежності від того форуму, який вибираєте, щоб ваші повідомлення не були позначені як спам.
    • Надішліть прес-релізи натехніческіе сайти. Знайдіть деякі технічні блоги і сайти, які відповідають жанру вашої програми. Надішліть редакторам прес-реліз з докладним описом вашої програми і що вона робить. Увімкніть кілька скріншотів.
    • Зробіть кілька відео YouTube. Якщо ваша програма призначена для вирішення певної задачі, створіть відео наYouTube, показуючи свою програму в дії. Структуруйте їх як "How-To" відео.
    • Створіть сторінки в соціальних мережах. Ви можете створити безкоштовно Facebook і Google + страніцидля вашої програми, можете використовувати Twitter як для компанії, так і новин про конкретну програму.
  • 2. Додайте вашу програму на своєму сайті. Для невеликих програм ви можете, швидше за все, розмістити файл на вашому власному сайті. Ви можете включити платіжну систему, якщо збираєтеся брати плату заваше програмне забезпечення. Якщо ваша програма стане дуже популярною, вам може знадобитися розмістити файл на сервері, який може обробляти більшу кількість завантажень.
  • 3. Встановіть службу підтримки. Після того, як ваша програма випущена у світ, ви неодмінно будете мати користувачів з технічними проблемами або які не розуміють, як працює програма. Ваш сайт повинен мати доступну детальну документацію, а також свого роду службу підтримки. Це може включати форум технічної підтримки, поддержкаелектронной пошти, жива допомога будь-яка їх комбінацію. Те, що ви можете надати, буде залежати від наявного бюджету.
  • 4. Оновлюйте ваш продукт. Майже всі програми в ці дні виправляються і оновлюються після їх першого релізу. Ці патчі можуть виправити критичні або некритичні помилки, оновити протоколи безпеки, поліпшити стійкість або навіть додати функціональність або переробити естетику. Оновлення вашої програми допоможе вам залишатися конкурентоспроможними.
  • Cхоже