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

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

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




Частина 1 з 6: Придумайте ідею

  1. 1

    Генеруйте ідеї. Хороша програма виконає задачу, яка робить життя простіше для користувача. Подивіться на програмне забезпечення, яке в даний час доступно для завдання, яку хочете виконати, і подивіться, якщо є способи, щоб процес став простіше чи глаже. Успішна програма - це те, в чому користувачі знайдуть багато корисного.
    • Вивчіть свої щоденні завдання на комп`ютері. Чи який-небудь спосіб, за допомогою якого ви могли б автоматизувати частину цих завдань, використовуючи програму?
    • Запишіть всі ідеї. Навіть якщо це здається дурним або дивовижним в цей момент, все може змінитися в щось корисне або навіть блискуче.

  2. 2

    Перевірте інші програми. Що вони роблять? Як вони могли б зробити це краще? Чого їм не вистачає? Відповіді на ці питання можуть допомогти вам самим придумати ідеї для написання програми.

  3. 3

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

  4. 4

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

Частина 2 з 6: Вивчення мови

  1. 1

    Завантажте хороший текстовий редактор. Майже всі програми написані в текстових редакторах, а потім скомпільовані для роботи на комп`ютерах. У той час як ви можете використовувати такі програми, як Блокнот або TextEdit, настійно рекомендуємо вам завантажити редактор з підсвічуванням синтаксису (наприклад, Notepad + +, JEdit або Sublime Text). Це дозволить вам набагато легше візуально розбирати код.
    • Деякі мови, такі як Visual Basic, включають редактор і компілятор в одному пакеті.

  2. 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. 3

    Завантажте компілятор або інтерпретатор. Для будь-якої мови високого рівня, такого як C ++, Java і багатьох інших, вам знадобиться компілятор для перетворення коду в формат, який може використовувати комп`ютер. Є безліч компіляторів на вибір залежно від мови, який ви використовуєте.
    • Деякі мови є інтерпретуються мовами, а це означає, що їм не потрібен компілятор. Замість цього їм потрібен тільки інтерпретатор мови, встановлений на комп`ютері, і програми зможуть запускатися миттєво. Деякі приклади різних мов включають Perl і Python.

  4. 4

    Вивчіть основні поняття програмування. Незалежно від того, яку мову ви обираєте, вам, ймовірно, потрібно зрозуміти деякі основні загальні принципи. Знаючи, як поводитися з синтаксисом мови, ви зможете створювати набагато більш потужні програми. Загальні концепції включають в себе:
    • Оголошення змінних - змінні є способом тимчасового зберігання ваших даних у вашій програмі. Ці дані можуть бути збережені, змінені, на них можна впливати і звертатися пізніше в програмі.
    • Використання умовних операторів (if, else, when, та ін.) - Це одна з основних функцій програми, вона описує, як працює логіка. Умовні оператори пов`язані з «true» (істинними) і «false» (помилковими) твердженнями.
    • Використання циклів (for, goto, do, etc.) - цикли дозволяють повторювати процеси знову і знову, поки не буде дана команда зупинитися.
    • Використання керуючих послідовностей - ці команди виконують такі функції, як створення нових ліній, відступів, цитат та багато іншого.
    • Коментування коду - коментарі необхідні для запам`ятовування того, що робить ваш код, допомагаючи іншим програмістам зрозуміти код, а також для тимчасового відключення частини коду.
    • Розберіться зі звичайними виразами.

  5. 5

    Знайдіть декілька книг по обраному вами мови. Є книги для кожної мови і для кожного рівня знань. Ви можете знайти книги з програмування в вашому місцевому книжковому магазині або будь-якому інтернет-магазині. Книга може стати безцінним інструментом, коли ви можете тримати її під рукою під час роботи.
    • Крім книг, Інтернет є нескінченною скарбницею посібників і підручників. Пошукайте навчальні посібники по обраному вами мови на таких сайтах, як CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools та багатьох інших.

  6. 6

    Пройдіть курси. Будь-яка людина може навчитися створювати програму, якщо вони приділили цьому увагу. Але іноді мати вчителя і навчальну обстановку може бути дуже корисним. Час, проведений один на один з експертом, може значно зменшити час, необхідний вам, щоб зрозуміти основи програмування та концепції. Заняття - це також гарне місце, щоб вивчити вищу математику і логіку, які будуть необхідні для більш складних програм.
    • Заняття коштують грошей, тому переконайтеся, що ви підписуєтеся на курси, які допоможуть вам вивчити те, що ви хочете знати.

  7. 7

    Задавайте питання. Інтернет - фантастичний спосіб зв`язуватися з іншими розробниками. Якщо ви виявили, що зайшли в глухий кут в одному з ваших проектів, зверніться за допомогою на такі сайти, як StackOverflow. Переконайтеся, що ви питаєте в інтелігентній манері і можете довести, що ви вже пробували кілька можливих рішень.

Частина 3 з 6: Створення вашого прототипу

  1. 1

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

  2. 2

    Зберіть команду. Якщо ви розробляєте програму на свій розсуд, ви можете використовувати прототип, щоб допомогти побудувати команду. Команда допоможе вам швидше відстежити помилки, ітераційні особливості, а також розробити візуальні аспекти програми.


    • Команда, безумовно, не є необхідною для невеликих проектів, але значно скоротить час розробки.
    • Запуск команди є складним і важким процесом, це вимагає хороших навичок управління поряд з хорошою структурою для команди. Прочитайте це керівництво для більш докладної інформації про управління групою.

  3. 3

    Почніть з нуля, якщо це необхідно. Як тільки ви познайомитеся з вашим мовою програмування, ви зможете отримати прототипи і запустити їх протягом декількох днів. Через їх швидкості не лякайтеся відмовитися від вашої ідеї і починайте все спочатку з іншого підходу, якщо ви незадоволені тим, як вона працює. Набагато легше зробити серйозні зміни на даному етапі, ніж пізніше, коли особливості починають "ставати на свої місця".

  4. 4

    Коментуйте все. Використовуйте синтаксис коментаря на вашій мові програмування, щоб залишати замітки про все, крім самих основних рядків коду. Це допоможе вам запам`ятати, що ви робили, якщо ви повинні залишити проект на деякий час, і допоможе іншим розробникам зрозуміти ваш код. Це особливо важливо, якщо ви працюєте як член команди програмування.
    • Ви можете використовувати коментарі для тимчасового відключення частин коду під час тестування. Просто виділіть код, який потрібно відключити, в синтаксисі коментаря, і він не компілюватиметься. Ви можете видалити синтаксис коментарів, і код буде відновлений.

Частина 4 з 6: Альфа-тестування

  1. 1

    Зберіть команду тестувальників. На стадії альфа-тестування команда тестувальників може і повинна бути невеликою. Невелика група допоможе вам отримати цілеспрямовану зворотний зв`язок і дає вам можливість взаємодіяти з тестувальниками один на один. Кожен раз, коли ви робите оновлення з прототипом, нові конструкції відправляються до альфа-тестерам. Тестери тоді пробують всі включені функції, а також намагаються зламати програму, документуючи свої результати.
    • Якщо ви розробляєте комерційний продукт, ви хочете переконатися, що всі ваші Тестеровщик підписали угоду про нерозголошення інформації (NDA). Це вбереже їх від розповідаючи іншим про вашу програму і запобігання витоків у пресі та іншим користувачам.
    • Знайдіть час, щоб придумати грунтовний план тестування. Переконайтеся, що ваші тестувальники мають спосіб легкого повідомлення про помилки в програмі, а також легкого доступу до нових версій альфа-тестування. GitHub та інші сховища кодів є відмінним способом, щоб легко управляти цим аспектом.

  2. 2

    Тестируйте ваш прототип знову і знову. Помилки є "погибеллю" кожного розробника. Помилки в коді і несподіване використання може викликати всілякі проблеми в готовому продукті. Під час роботи з вашим прототипом перевіряйте його якомога більше. Зробіть все можливе, щоб зламати його, а потім спробуйте захистити від зламу у майбутньому.
    • Спробуйте вводити зайві дати, якщо ваша програма має справу з датами. Дійсно старі дати або дати з далекого майбутнього можуть викликати дивні реакції в програмі.
    • Вводите неправильний вид змінних. Наприклад, якщо у вас є форма, яка запитує вік користувача, введіть слово і подивіться, що відбувається з програмою.
    • Якщо ваша програма має графічний інтерфейс, натискайте по всьому. Що відбувається, коли ви повертаєтеся до попереднього екрана або натискаєте кнопки в неправильному порядку?

  3. 3

    Направляйте помилки в порядку черговості. При перегляді програми в альфа-тестуванні ви будете витрачати багато часу, фіксуючи особливості, які не працюють правильно. При організації своїх звітів про помилки від ваших альфа-тестувальників їх потрібно буде впорядкувати на основі двох показників: [b]Severity (Ступінь строгості) і [b]Priority (Пріоритетність).
    • Severity - ступінь строгості помилки є мірою того, яких збитків викликає помилка. Помилки, які руйнують програму, пошкоджують дані, утримуючись програму від запуску, називаються «Blocker». Функції, які не працюють або повертають неправильні результати, помічені як «Critical», тоді як важко використовувати або погано виглядають особливості помічені Major. Є також Normal, Minor і Trivial помилки, які впливають на невеликі розділи менш важливі функції.
    • Priority - пріоритет помилки визначає, в якому порядку ви їх вирішуєте при спробі виправити помилки. Виправлення помилок у програмному забезпеченні є трудомістким процесом і забирає час разом того, щоб додавати нові функції і шліфувати. Таким чином, ви повинні прийняти пріоритет помилки до уваги, щоб переконатися, що укладетеся в терміни. Всі помилки Blocker і Critical мають найвищий пріоритет, який іноді називають P1. P2 помилки, як правило, Major помилки, які планується виправляти, але не будуть воздерживать продукт від відправки. Р3 і Р4 помилки, як правило, не планують виправлень і потрапляють в категорію "добре мати".

  4. 4

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

  5. 5

    Не відхилятися занадто далеко від вашої первинної проектно-технічної документації. Загальною проблемою в розробці програмного забезпечення є "розростання можливостей в програмах", де нові ідеї додаються, викликаючи втрату основного акценту, і розширення часу розробки між дуже великою кількістю різних функцій. Вам потрібно, щоб ваша програма була кращою в тому, що вона робить, а не «майстром на всі руки».

  6. 6

    Протестуйте кожну функцію, коли додаєте її. Коли додаєте нові функції у вашу програму при альфа-тестування, відправте новий білд вашим тестерам. Регулярність нових білдів буде повністю залежати від розміру вашої команди і наскільки успішно ви створюєте функції.

  7. 7

    Закрийте свої функції, коли альфа-тестування закінчено. Після того, як ви реалізували всі можливості і функціональність у вашій програмі, можете вийти з альфа-фази. У цей момент ніяких подальших особливостей не повинно бути додано і включені функції повинні працювати по суті. Тепер ви можете перейти в більш широкій перевірці і шліфовці, відомої як бета-фаза.

Частина 5 з 6: Бета-тестування

  1. 1

    Збільште розмір вашої групи тестування. У бета-фазі програма стає доступною для набагато більш численної групи тестерів. Деякі розробники роблять бета фазу публічною, яка називається відкритим бета-тестуванням. Це дозволяє будь-якому користувачеві зареєструватися та брати участь у тестуванні продукту.
    • В залежності від потреб вашого продукту ви можете чи ні проводити відкрите бета-тестування.

  2. 2

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

  3. 3

    Відшліфуйте програмне забезпечення. У бета-фазі функції більше не додаються, тому акцент може бути направлений на поліпшення естетики і практичності програми. На цьому етапі дизайн користувальницького інтерфейсу стає пріоритетом, гарантуючи, що користувачам не складе ніяких труднощів виконати навігацію по програмі і скористатися функціями.
    • Дизайн і функціональність UI (користувальницького інтерфейсу) може бути дуже важким і складним. Люди роблять цілу кар`єру на проектуванні користувацьких інтерфейсів. Просто переконайтеся, що ваш особистий проект є простим у використанні і простим для сприйняття на-віч. Професійний інтерфейс може виявитися неможливим без наявності бюджету і команди.
    • Якщо у вас є бюджет, є багато позаштатних графічних дизайнерів, які потенційно могли б спроектувати користувальницький інтерфейс за контрактом для вас. Якщо у вас є солідний проект, який, як ви сподіваєтеся, стане наступним великим справою, знайдіть хорошого дизайнера користувача інтерфейсу і зробіть його частиною вашої команди.

  4. 4

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

Частина 6 з 6: Випуск програми

  1. 1

    Знайдіть ринок збуту для вашої програми. Якщо ви хочете отримати користувачів, вам слід переконатися, що вони знають про існування вашої програми. Як і будь-який інший продукт, ви повинні будете трохи прорекламувати програму для того, щоб люди знали. Ступінь та інтенсивність вашої маркетингової кампанії будуть визначатися функцією вашої програми, а також наявним бюджетом. Деякі прості способи з підвищення обізнаності про вашу програму включають в себе:
    • Розміщуйте інформацію про вашу програму на суміжних дошках оголошень. Переконайтеся, що ви прямуєте правилами розміщення в залежності від того форуму, який обираєте, щоб ваші повідомлення не були помічені як спам.
    • Надішліть прес-релізи на технічні сайти. Знайдіть деякі технічні блоги і сайти, які відповідають жанру вашої програми. Надішліть редакторам прес-реліз з докладним описом вашої програми і що вона робить. Увімкніть кілька скріншотів.
    • Зробіть кілька відео YouTube. Якщо ваша програма призначена для вирішення певної задачі, створіть відео на YouTube, показуючи свою програму в дії. Структуруйте їх як "How-To" відео.
    • Створіть сторінки в соціальних мережах. Ви можете створити безкоштовно Facebook і Google + сторінки для вашої програми, можете використовувати Twitter як для компанії, так і новин про конкретну програму.

  2. 2

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

  3. 3

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

  4. 4

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