Частоти код на програмному мовою. Програмний код

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

Програмний код - це набір слів і символів мови програмування.

алфавіт - це повний набір букв, цифр і символів, прийнятих в мові для позначення даних і дій над ними.

Алфавіт мови Visual Basic включає наступний набір символів:

Прописні (A - Z) і малі (а - z) букви латинського алфавіту;

Цифри від 0 до 9;

Знаки арифметичних операцій (в порядку зростання пріоритету): +, -, *, /, |, ^;

Знаки операцій відносини: \u003d,<, >.

Розділові знаки і роздільники:,  . : ; ();

В алфавіт мови входять також зарезервованіслова, які не можуть бути використані в якості імен змінних або процедур. Приклади зарезервованих слів: Dim, Sub, Integer і т.д. Стандартно для виділення ключових слів у вікні редагування коду Visual Basic використовують шрифт синього кольору.

Слова і символи повинні бути записані строго за правилами мови, без орфографічних і пунктуаційних помилок. Саме точне написання дозволить комп'ютеру однозначно зрозуміти і виконати програму.

Вікно програмного коду

Програмний код записується у вікні коду. Таке вікно є у кожної форми.

Відкрити вікно коду:

1 спосіб - у вікні провідник Проекту натиснути правою кнопкою по потрібній формі і в меню вибрати Показати код.

Примітка: вікно коду може бути і не пов'язане з формою. Окреме вікно коду називається модуль . Модулі в вікні Провідник проекту згруповані в групу модулі. Для відкриття вікна з кодом модуля потрібно у вікні провідник проекту двічі клацнути по імені модуля.

2 спосіб - двічі клацнути по елементу управління на формі або по самій формі у вікні форми.

Примітка: при цьому не тільки відкривається вікно коду, але і створюється процедура обробки події (див. нижче).

Структура вікна коду:

Рис. 7. Вікно програмного коду.

    Список елементів управління

    Список подій елементів управління

    Процедура (код)

процедури

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

Visual Basic - процедурний програмування мову. Це означає, що в ньому можна створювати блоки програмного коду, на які потім можна посилатися на ім'я. Після того як блок коду отримає ім'я, він може бути викликаний і виконаний. Це схоже на програму в програмі. Маленькі програми, "живуть" у великих програмах, називаються функціями, якщо вони повертають яке-небудь значення, і подпрограммами, якщо вони значень не повертають.

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

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

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

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

За замовчуванням, якщо перед ключовим словом Sub, відсутній ключове слово, то ця глобальна процедура.

Процедури бувають:

    Процедури обробки подій. Виконуються при виникненні якої-небудь події в будь-якому елементі управління (або формі). Подієва процедура завжди пов'язана з якимось об'єктом. Щоб викликати подієву процедуру об'єкта, досить по цьому об'єкту зробити подвійний лівий клік.

    довільні процедури. Вона не пов'язані з подіями і можуть бути викликані з будь-якої іншої процедури і виконані в будь-який час. Якщо в програмі у всіх формах зустрічається один і той же програмний блок, то його можна записати тільки один раз і в одному місці, в вигляді глобальної загальної програми. Запуск загальної програми не пов'язана з об'єктом і з подією, а відбувається, коли до нього звертаються з інших програмних блоків. Виклик загальної процедури з тієї ж форми: ІмяПроцедури (СпісокПараметров). Виклик загальної процедури з іншої форми: Об'єкт. ІмяПроцедури (СпісокПараметров). Загальна процедура буває і локальної Private та глобальної Public

структура процедури

Процедура складається з наступних елементів:

    Тема процедури - зазначає початок процедури, її тип, призначення (подія).

Приклад заголовка процедури, яка виконується при натисканні мишею по кнопці з ім'ям Command1.

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

    Sub - процедура.

Примітка: крім процедур бувають функції - function. Функції не пов'язані з подіями і додатково можуть повертати результат своєї роботи (обчислень).

    елемент управління (Або ім'я форми): тут вказується точне ім'я елемента, що зберігається у властивості Name.

    подія - найменування події. Ось деякі події:

    Click - клацання мишею;

    DblClick - подвійне клацання мишею;

    KeyPress - натискання клавіші;

    UnLoad - вивантаження форми (при закритті форми, завершення програми);

    Activate - активізація форми (при натисканні на формі, коли її заголовок підсвічується);

    Deactivate - деактивізація форми (при натисканні на іншій формі).

    Initialize - при створенні об'єкта типу форма.

    Resize - при зміні розміру форми

    Terminate - в момент видалення форми

    аргументи- це вихідні дані, що передаються процедурі для обробки.

У довільних процедур заголовок наступний:

ім'я процедури повинно бути унікально, Має починатися з літери, не повинно містити пробілів та інших знаків, крім знака підкреслення. На ім'я відбувається виклик процедури, коли необхідно її виконати.

    закінчення процедури - закінчує програмний код процедури: End Sub

Примітка: У функцій: End Function

    тіло процедури - це рядки між заголовком і закінченням. Їх кількість необмежена. Рядки містять приписи, які повинні виконатися при виклику процедури (виникненні події).

підпрограма (Sub) - являє собою процедуру, яка виконує програмний код в межах свого блоку і не повертає значення. Синтаксис простий підпрограми такий:

( Private | Public ) Sub SubMain ()

..строкі коду End Sub

Область видимості підпрограми;

Sub-тип процедури (а саме - підпрограма);

subMain ім'я, що привласнюється підпрограмі;

End Sub -окончаніе блоку коду підпрограми.

створення процедури

Для створення процедури виконайте наступне:

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

    2 спосіб - відкрийте вікно коду, виконайте Інструменти → Додати процедуру → вкажіть ім'я і параметри процедури → Ok.

    3 спосіб - відкрийте вікно коду і введіть потрібні рядки з клавіатури.

В результаті має вийти:

Private Sub Command1_Click ()

Виклик процедур на виконання

    Щоб виконалася процедура обробки події, ця подія має відбутися.

    Для виконання довільної процедури в тілі іншої процедури вказують ім'я цієї процедури.

Private Sub Command1_Click ()

Тут при натисненні на кнопку Command1 виникає подія Click (клацання мишею) і викликається і виконується процедура Kvadrat.

Код процедури виконується через підрядник і зверху вниз.

функція (Function) - це процедура, яка виконує рядки свого коду і повертає деяке значення. Синтаксис простої функції такий:

Function FunctionName () As Datatype

... рядкикоду

FunctionName \u003d ReturnValueEnd Function

Область видимості функції;

Function - ключове слово Visual Basic, яке вказує на те, що це саме функція;

FunctionName () - ім'я, що привласнюється функції;

AS - ключове слово Visual Basic, що передують призначення типу даних;

DataType тип даних, що повертається;

ReturnValue значення, яке має бути присвоєно імені функції (це дуже важливий момент!);

End Function-кінець даного блоку коду.

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

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

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

Спершу HTML і CSS

Основою веб-документа є код, написаний на мові розмітки HTML. Мова розмітки не варто плутати з мовою програмування, а в чому власне полягає різниця докладно написано. В принципі, за допомогою набору команд, який пропонує для розробника сайту HTML, можна задавати всі необхідні параметри статичного веб-документа - розташування елементів (блокова розмітка), заголовки, абзаци, таблиці, зображення і т.д. А за допомогою CSS, спеціальної надбудови для HTML, можна позиціонувати всі перераховані об'єкти розмітки, змінювати їх стиль - колір, розмір, формат і т.п.

потім JavaScript

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

І нарешті PHP

У разі, коли потрібно написання складних і об'ємних кодів, наприклад для форумів або гостьових книг, програмісти звертаються за допомогою до серверних мов програмування, і зокрема до. Коди PHP виконуються на стороні сервера, тому їх робота може бути кілька уповільнена, оскільки залежить від швидкості з'єднання з віддаленим комп'ютером і ступеня його завантаженості. За допомогою PHP і команд SQL (спеціальна мова запитів до реляційної базі даних) можна організувати взаємодію сайту з базами даних і створювати інтерактивні інтернет-проекти - форуми, інтернет-магазини, дошки оголошень, різні каталоги і т.д.

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

  • Вибираючи мову, сконцентруйтеся на тому, з якою метою ви хочете створювати програмні коди, і вже потім вибирайте початковий мову. Наприклад, якщо ви хочете займатися розробкою веб-сайтів, то вам слід почати з вивчення HTML, а потім доповнити його мовами CSS, JavaScript і PHP. Якщо ви хочете створювати програми для комп'ютерів, то почніть вивчати C ++ або будь-який інший основну мову програмування.
  • Якщо ви станете професійним програмістом, то ви швидко зрозумієте, що ви ніколи не будете використовувати ту мову, який ви спочатку вивчили, для вашої роботи. Замість цього, ви будете весь час продовжувати вчити нову мову через документацію і експерименти.

Знайдіть безкоштовні онлайн-ресурси, присвячені вашому заданої мови. Інтернет - це скриня зі скарбами, який зберігає в собі безкоштовні посібники, курси та відео, присвячені мові, який ви вирішили вчити. Ви можете вивчити основи майже будь-якого вступного мови за день.

  • Ось тільки кілька популярних сайтів: Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools і багато інших.
  • На wikiHow теж можна знайти велику різноманітність початкових посібників для різних мов.
  • Ви можете знайти навчальні відео практично для будь-якої мови на YouTube.
  • Stack Exchange - це один з найпопулярніших форумів, на якому професійні програмісти відповідають на будь-які запитання користувачів.
  • Скачайте хороший текстовий редактор. Багато мови програмування дозволяють використання зовнішніх текстових редакторів для написання програм. Знайдіть текстовий редактор, який буде відображати відступи і кодову розмітку.

    • Популярні програми включають Notepad ++ (Windows), TextWrangler (OS X) і JEdit (будь-яка система).
  • Скачайте будь-які необхідні компілятори. Деякі мови програмування вимагають компілятор для відображення вихідного коду, який ви написали. Компілятори транслюють вихідний код в еквівалентну програму на мові низького рівня, яка потім обробляється комп'ютером. Багато компілятори є відкритими і безкоштовними програмами. Мови, які вимагають використання компіляторів, включають:

    • BASIC
    • Fortran
    • Pascal
  • Почніть ваш перший проект. Виберіть хороший вступний проект, який дозволить вам випробувати ваші нові навички. В інтернеті існує безліч пропозицій і посібників по цій темі; наприклад, ви можете почати з створення простих веб-сайтів з HTML, простих баз даних і функцій з PHP або простих програм на будь-якому з мов, які потребують використання компіляторів.

    призначення

    Вихідний код або використовується для отримання об'єктного коду, або виконується інтерпретатором. Зміни ніколи не виконуються над об'єктним кодом, тільки над вихідним, з подальшим повторним перетворенням в об'єктний.

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

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

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

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

    організація

    Вихідний код деякої частини ПО (модуля, компонента) може складатися з одного або декількох файлів. Код програми не обов'язково пишеться тільки на одній мові програмування. Наприклад, часто програми, написані на мові Сі, з метою оптимізації, містять вставки коду на мові асемблера. Також можливі ситуації, коли деякі компоненти або частини програми пишуться на різних мовах, з наступною збіркою в єдиний виконуваний модуль за допомогою технології, відомої як компоновка бібліотек ( library linking).

    Складне програмне забезпечення при складанні вимагає використання десятків, або навіть сотень файлів з вихідним кодом. У таких випадках для спрощення збірки зазвичай використовуються файли проектів, що містять опис залежностей між файлами з вихідним кодом, і описують процес складання. Ці файли також можуть містити параметри для компілятора і середовища проектування. Для різних середовищ проектування можуть застосовуватися різні файли проекту, причому в деяких середовищах ці файли можуть бути в текстовому форматі, придатному для безпосереднього редагування програмістом за допомогою універсальних текстових редакторів, в інших середовищах підтримуються спеціальні формати, а створення і зміни файлів проводиться за допомогою спеціальних інструментальних програм. Файли проектів зазвичай включають в поняття «вихідний код». У переважній більшості сучасних мовних середовищ обов'язково використовуються файли проектів незалежно від складності іншого вихідного коду, що входить в даний проект. Часто під вихідним кодом на увазі і файли ресурсів, що містять різні дані, наприклад, графічні зображення, потрібні для збірки програми.

    Для полегшення роботи з вихідним кодом, для спільної роботи над кодом командою програмістів, використовуються системи управління версіями.

    якість

    На відміну від людини, для комп'ютера немає «добре написаного» або «погано написаного» коду. Але те, як написаний код, може сильно впливати на процес супроводу ПЗ. Про якість вихідного коду можна судити за такими параметрами:

    • читаність коду (в тому числі наявність коментарів до коду);
    • легкість в підтримці, тестуванні, налагодженні і усунення помилок, модифікації і портировании;
    • економне використання ресурсів - пам'яті, процесора, дискового простору;
    • відсутність зауважень, що виводяться компілятором;
    • відсутність «сміття» - невикористовуваних змінних, недосяжних блоків коду, непотрібних застарілих коментарів і т. д;
    • адекватна обробка помилок;
    • переносимість - можливість використання обробника (компілятора, інтерпретатора, транслятора) різних версій, або навіть різних ОС;
    • можливість інтернаціоналізації інтерфейсу.

    Неісполняемих вихідний код

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

    У таких випадках вихідним кодом вважається форма даної роботи, краща для її редагування. У ліцензіях, призначених не тільки для ПО, вона також може називатися версією в «прозорому форматі». Це може бути, наприклад:

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

    Див. також


    Wikimedia Foundation. 2010 року.

    Дивитися що таке "Вихідний код" в інших словниках:

      Вихідні матеріали фільму негатив, КОНТРАТИП, контрольна копія фільму, оригінал магнітних фонограм перезапису музики, шумів, видеофонограммой майстер, компакт диск і т.п. Синоніми: текст або безпосередньо виконується інтерпретатором, або ... ... Фінансовий словник

      Написаний людиною текст комп'ютерної програми на будь-якому мовою програмування Словник бізнес термінів. Академік.ру. 2001 ... Словник бізнес-термінів

      вихідний код - - Тематики електрозв'язок, основні поняття EN source code ... Довідник технічного перекладача

      вихідний код - 3.1.13 вихідний код (source code): Комп'ютерна програма, виражена в зручній для сприйняття людиною формі (мова програмування), яка перекладається в машиночитаемую форму (об'єктний код) перед тим, як вона може бути випробувана з ... ... Словник-довідник термінів нормативно-технічної документації

      вихідний код - мова вихідного тексту ... Тлумачний перекладознавчий словник

      Вихідний код: вихідний код написаний людиною текст комп'ютерної програми. Вихідний код технотріллер режисера Данкана Джонса ... Вікіпедія

      Цей термін має також інші значення див. Вихідний код. Вихідний код Source Code ... Вікіпедія

      У цій статті не вистачає посилань на джерела інформації. Інформація повинна бути проверяема, інакше вона може бути поставлена \u200b\u200bпід сумнів і вилучена. Ви можете ... Вікіпедія

      Логотип Open Source Initiative (OSI) Відкрите програмне забезпечення (англ. Open source software) це програмне забезпечення з відкритим вихідним кодом. Вихідний код створюваних програм відкритий, тобто доступний для перегляду і зміни. Це ... ... Вікіпедія

      Вихідна програма (вихідний код) - 48) вихідна програма (вихідний код) відповідне подання одного або більше процесів, які можуть бути перетворені програмує системою в форму, виконувану обладнанням (об'єктний код або об'єктна мова) (категорії 6, 7 і 9); ... Офіційна термінологія

    15 правил написання якісного коду

    Є міріади способів написати поганий код. На щастя, щоб піднятися до рівня якісного коду, досить слідувати 15 правилам. Їх дотримання не зробить з вас майстра, але дозволить переконливо імітувати його.

    Правило 1. Дотримуйтесь стандартам оформлення коду.

    У кожної мови програмування є свій стандарт оформлення коду, який говорить, як треба робити відступи, де ставити прогалини і дужки, як називати об'єкти, як коментувати код і т.д.

    Наприклад, в цьому шматку коду відповідно до стандарту є 12 помилок:

    For (i \u003d 0; i

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

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

    Правило 2. Давайте наочні імена.

    Обмежені повільними, незграбними телетайп, програмісти в давнину використовували контракти для імен змінних і процедур, щоб заощадити час, стуки по клавішах, чорнило та папір. Ця культура присутня в деяких співтовариствах заради збереження зворотної сумісності. Візьміть, наприклад, ламає мову функцію C wcscspn (wide character string complement span). Але такий підхід непридатний в сучасному коді.

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

    Набагато важливіше, щоб ви довго і добре думали перед тим, як щось назвати. Чи є ім'я точним? Чи мали ви на увазі highestPrice або bestPrice? Чи достатньо специфічно ім'я, щоб уникнути його використання в інших контекстах для схожих за змістом об'єктів? Чи не краще назвати метод getBestPrice замість getBest? Чи підходить воно краще за інших схожих імен? Якщо у вас є метод ReadEventLog, вам не варто називати інший NetErrorLogRead. Якщо ви називаєте функцію, описує чи її назва повертається значення?

    На закінчення, кілька простих правил іменування. Імена класів і типів повинні бути іменниками. Назва методу повинно містити дієслово. Якщо метод визначає, чи є якась інформація про об'єкт істинною або помилковою, його ім'я повинно починатися з «is». Методи, які повертають властивості об'єктів, повинні починатися з «get», а встановлюють значення властивостей - «set».

    Правило 3. Коментуйте і документуйте.

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

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

    Правило 4. Не повторювати.

    Ніколи не копіюйте і не вставляйте код. Замість цього виділіть загальну частину в метод або клас (або макрос, якщо потрібно), і використовуйте його з відповідними параметрами. Уникайте використання схожих даних і шматків коду. Також використовуйте наступні техніки:

    • Створення довідників API з коментарів, використовуючи Javadoc і Doxygen.
    • Автоматична генерація Unit-тестів на основі анотацій або угод про іменування.
    • Генерація PDF і HTML з одного розмічені джерела.
    • Отримання структури класів з бази даних (або навпаки).

    Правило 5. Перевіряйте на помилки і реагуйте на них.

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

    Правило 6. Розділіть код на короткі, відокремлені частини.

    Кожен метод, функція або блок коду должн уміщатися в звичайному екранному вікні (25-50 рядків). Якщо вийшло довше, розділіть на більш короткі шматки. Навіть всередині методу розділяйте довгий код на блоки, суть яких ви можете описати в коментарі на початку кожного блоку.

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

    Правило 7. Використовуйте API фреймворків і сторонні бібліотеки.

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

    Правило 8. Не перестарайтеся з проектуванням.

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

    Правило 9. Будьте послідовні.

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

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

    Правило 10. Уникайте проблем з безпекою.

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

    Правило 11. Використовуйте ефективні структури даних і алгоритми.

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

    Правило 12. Використовуйте Unit-тести.

    Складність сучасного ПО робить його установку дорожче, а тестування важче. Продуктивним підходом буде супровід кожного шматка коду тестами, які перевіряють правильність його роботи. Цей підхід спрощує налагодження, тому що він дозволяє виявити помилки раніше. Unit-тестування необхідно, коли ви програмуєте на мовах з динамічною типізацією, як Python і JavaScript, тому що вони відловлюють будь-які помилки тільки на етапі виконання, в той час як мови зі статичної типізацією зразок Java, C # і C ++ можуть зловити частина з них під час компіляції. Unit-тестування також дозволяє рефактору код впевнено. Ви можете використовувати XUnit для спрощення написання тестів і автоматизації їх запуску.

    Правило 13. Зберігайте код портіруемость.

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

    Правило 14. Робіть свій код зібраних.

    Проста команда повинна збирати ваш код в форму, готову до поширення. Команда повинна дозволяти вам швидко виконувати зборку і запускати необхідні тести. Для досягнення цієї мети використовуйте засоби автоматичного складання зразок Make, Apache Maven, або Ant. В ідеалі, ви повинні встановити інтеграційну систему, яка буде перевіряти, збирати і тестувати ваш код при будь-якій зміні.

    Правило 15. Розміщуйте все в системі контролю версій.

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

    Висновок.

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

  • Поділитися