Норми кодування Зміст Підтримка програмного забезпечення | Посилання | Зовнішні посилання | Навігаційне менюCode Conventions for the Java Programming Language : Why Have Code ConventionsFlex SDK coding conventions and best practicesAda 95 Quality and Style Guide: Guidelines for Professional ProgrammersGuide for the use of the Ada programming language in high integrity systemsNASA Flight Software Branch — Ada Coding StandardEuropean Space Agency's Ada Coding StandardGanssle Group's Firmware Development StandardNetrino Embedded C Coding StandardMicrium C Coding Standard (dead link)Quantum Leaps C/C++ Coding StandardGeoSoft's C++ Programming Style GuidelinesGoogle's C++ Style GuideC# Coding Conventions (C# Programming Guide)Design Guidelines for Developing Class LibrariesBrad AbramsPhilips HealthcareThe D StyleThe Dart Style GuideErlang Programming Rules and ConventionsCode conventions for the Flex SDKAmbysoft's Coding Standards for JavaCode Conventions for the Java Programming LanguageGeoSoft's Java Programming Style GuidelinesJava Coding StandardsSoftwareMonkey's Coding Standards for Java and other C-like languagesCode Conventions for the JavaScript Programming LanguageRiastradh's Lisp Style RulesNeurobat Coding Conventions for MATLABProgramming style for MonoObject Pascal Style GuidePerl Style GuidePHP::PEAR Coding StandardsPHP Framework Interop GroupStyle Guide for Python CodeThe Unofficial Ruby Usage GuideGitHub Ruby style guideApache Developers' C Language Style GuideDrupal PHP Coding StandardsZend Framework Coding StandardsStyle guides for Google-originated open-source projectsLinux Kernel Coding StyleModuLiq Zero Indent Coding StyleMozilla Coding Style GuideRoad Intranet's C++ GuidelinesThe NetBSD source code style guideOpenBSD Kernel source file style guide (KNF)GNAT Coding Style: A Guide for GNAT DevelopersPDFзробивши це

Програмування


англ.мови програмуванняправила стильового оформлення кодувідступикоментаріоголошенняінструкціїпробілинорми найменуванняпрактикипринципи програмуванняемпіричні правила програмуванняякості програмного забезпеченняРозробникам програмного забезпеченнячитабельністькодупідтримку програмного забезпеченнярецензентівкомпіляторамипідтримки програмного забезпеченняJavaSun MicrosystemsПрограмна інженерія




Норми кодування (англ. Coding conventions) — це сукупність вказівок, що стосуються певної конкретної мови програмування і встановлюють правила стильового оформлення коду, практики та методи написання програм цією мовою. Ці норми зазвичай охоплюють організацію файлів, відступи, коментарі, оголошення, інструкції, пробіли, норми найменування, практики та принципи програмування, емпіричні правила програмування, найкращі архітектурні практики та ін. Це поради стосовно структурної якості програмного забезпечення. Розробникам програмного забезпечення наполегливо рекомендується слідувати цим вказівкам, щоб покращити читабельність їхнього коду та полегшити підтримку програмного забезпечення. Норми кодування застосовні лише до людей-підтримувачів та рецензентів програмного забезпечення. Норми можуть бути формалізовані в документованому наборі правил, яких дотримується ціла команда чи компанія, або бути такими ж неформальними, як звичні індивідуальні практики кодування. Норми кодування не нав’язуються компіляторами. А отже, не дотримання деяких, чи навіть всіх правил не впливає на ефективність виконання програмного коду.




Зміст





  • 1 Підтримка програмного забезпечення

    • 1.1 Програмна інженерія

      • 1.1.1 Документація проекту




  • 2 Посилання


  • 3 Зовнішні посилання

    • 3.1 Норми кодування для мов


    • 3.2 Норми кодування для проектів





Підтримка програмного забезпечення |


Зменшення затратності підтримки програмного забезпечення є найбільш поширеною причиною дотримання норм кодування. У своїй передмові до норм програмування мовою Java, Sun Microsystems наводить такі міркування:[1]



Норми кодування важливі для розробників програмного забезпечення з кількох причин:


  • 40%–80% загальної вартості програмного забезпечення витрачається на його утримання. [2]

  • Майже ніколи програмне забезпечення не підтримується до самого кінця своїм початковим автором.

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

  • Подібно до всякого іншого продукту, програмне забезпечення має бути "добре упакованим" і чистим.



Програмна інженерія |


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



Документація проекту |


Згідно з нормами кодування, проект повинен містити наступні документи:


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

  2. Опис вимог (англ. The requirements specification). В цьому документі вказується, що саме робить проект. Він є найважливішим в ланцюгу документів, усі інші документи тісно пов’язані з ним.

  3. Дизайн проекту (англ. The project design). Це офіційний документ з описом дизайну. Він перелічує модулі й компоненти, описує їх інтерфейси та пояснює зв’язки між ними. Програмний інженер, що працює над цим документом, переглядає різні варіанти дизайну й обирає з них найкращий. Він (вона) враховує всі аспекти, зокрема технічні, комерційні, питання якості, адміністрування й логістики. Це передбачає й час та вартість розробки, утримання, підтримки і використання - як поточні, так і подальші. Насправді ця робота не обмежується архітектурним дизайном, вона передбачає багато інших важливих нюансів.

  4. Опис тестів (англ. The test specification). Цей документ описує всі тести, які має пройти проект, та результати, яких варто чекати від такого тестування. Дуже часто тестування виконується спеціальними програмними пакетами, а отже ці тести описуються відповідними файлами.

  5. Результати тестів (англ. The test results).

Опис проекту від досьє до результатів тестування становить такзваний ланцюг документів. Кожен документ пов’язаний з попереднім відношенням "один до одного". Крім того, опис тестів пов’язаний з описом вимог. Ланцюг документів двонаправлений - опис іде вниз, результати повертаються нагору.


Ці методи називаються формальними.



Посилання |





  1. Code Conventions for the Java Programming Language : Why Have Code Conventions. Sun Microsystems, Inc. 1999-04-20. 



  2. Robert L. Glass: Facts and Fallacies of Software Engineering; Addison Wesley, 2003.



Зовнішні посилання |



Норми кодування для мов |


  • ActionScript: Flex SDK coding conventions and best practices

  • Ada: Ada 95 Quality and Style Guide: Guidelines for Professional Programmers

  • Ada: Guide for the use of the Ada programming language in high integrity systems (ISO/IEC TR 15942:2000)

  • Ada: NASA Flight Software Branch — Ada Coding Standard

  • Ada: European Space Agency's Ada Coding Standard (BSSC(98)3)

  • C: Ganssle Group's Firmware Development Standard

  • C: Netrino Embedded C Coding Standard

  • C: Micrium C Coding Standard (dead link)

  • C++: Quantum Leaps C/C++ Coding Standard

  • C++: C++ Programming/Programming Languages/C++/Code/Style Conventions

  • C++: GeoSoft's C++ Programming Style Guidelines

  • C++: Google's C++ Style Guide

  • C++: High Integrity C++

  • C#: C# Coding Conventions (C# Programming Guide)

  • C#: Design Guidelines for Developing Class Libraries

  • C#: Brad Abrams

  • C#: Philips Healthcare

  • D: The D Style

  • Dart: The Dart Style Guide

  • Erlang: Erlang Programming Rules and Conventions

  • Flex: Code conventions for the Flex SDK

  • Java: Ambysoft's Coding Standards for Java

  • Java: Code Conventions for the Java Programming Language

  • Java: GeoSoft's Java Programming Style Guidelines

  • Java: Java Coding Standards, каталог посилань Open Directory Project

  • Java: SoftwareMonkey's Coding Standards for Java and other C-like languages

  • JavaScript: Code Conventions for the JavaScript Programming Language

  • Lisp: Riastradh's Lisp Style Rules

  • MATLAB: Neurobat Coding Conventions for MATLAB

  • Mono: Programming style for Mono

  • Object Pascal: Object Pascal Style Guide

  • Perl: Perl Style Guide

  • PHP::PEAR: PHP::PEAR Coding Standards

  • PHP::FIG: PHP Framework Interop Group

  • Python: Style Guide for Python Code

  • Ruby: The Unofficial Ruby Usage Guide

  • Ruby: GitHub Ruby style guide


Норми кодування для проектів |


  • Apache Developers' C Language Style Guide

  • Drupal PHP Coding Standards

  • Zend Framework Coding Standards

  • GNU Coding Standards

  • Style guides for Google-originated open-source projects


  • Linux Kernel Coding Style (or Documentation/CodingStyle in the Linux Kernel source tree)

  • ModuLiq Zero Indent Coding Style

  • Mozilla Coding Style Guide

  • Road Intranet's C++ Guidelines


  • The NetBSD source code style guide (formerly known as the BSD Kernel Normal Form)

  • OpenBSD Kernel source file style guide (KNF)


  • GNAT Coding Style: A Guide for GNAT Developers. GCC online documentation. Free Software Foundation. Процитовано 2009-01-19.  (PDF)









Popular posts from this blog

Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2