Section courante

A propos

Section administrative du site

 Langage  Notion  Domaine  Normes  Architecture  Méthodologie  Annexe 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Mathématiques appliquées à l'informatique
Algorithme
Structure de contrôle
Structure de données
Structure de code
Structure d'application
Programmation Orientée Objet (POO)
Théorie des codes
Traitement d'image
Concept
Intégration
Sécurité de développement
Blockchain
Mégadonnées (Big Data)
Intelligence Artificielle (IA)
Internet des objets (IoT)
Tests d'applications
Aéronautique
Électronique
Jeux
Militaire
Rétro
Scientifique
Système d'exploitation
Web
ANSI
ISO
POSIX
RFC
JCR
PSR
Index
CORBA
TOGAF
DevOps
Agile
Extreme Programming (XP)
Kanban
Lean IT
SAFe (Scaled Agile Framework)
Norme
Standard
Loi

Les normes des programmeurs généraux sont essentiellement dictées par deux organismes :

Nom Normes
ISO Les normes Internationale adopté par plus de 146 pays à travers le monde
ANSI Les normes américaine étant l'ancienne référence

En plus de ces deux normes, il y a plein de normes spécifique à chacun des langages de programmation. Enfin, il y a les normes informels, appliqué par les programmeurs d'expériences :

But Description
Base de données Toujours spécifié le nom de chacun des champs dans une requête SQL plutôt qu'un «*». Par exemple lorsqu'on effectue de la maintenance sur une table et qu'on ajoute un nouveau champs ou au contraire qu'on supprime un champs, le code devient incompatible et boguer à cause que les champs ne corresponde plus.
Comprendre Mettre des remarques et documenté.
Éviter de coder en dur Lorsqu'on utilise des identificateurs dans une base de données, on utilise un ID pour les chiffres, et un MID pour les lettres. Par exemple un code de langue 'FR' sera un MID, tandis qu'un 1 sera un ID.
Éviter la corruption de données Ne pas effectuer des insertions directement SQL dans la base de données lorsqu'il existe une composante offrant se genre de servir
Ne pas sauvegarder ses requêtes dans un fichier document comme Word ou autre car ils effectuent des interprétations automatique de données.
Incompatibilité Éviter d'effectuer des mélanges technologiques inutile. Du ASP, PHP, JSP et Perl ne devrait pas se retrouver dans un même site.
Impossible à maintenir à jour Utilisé le même gabarie pour n'importe quel langue fournir par un site Web. Ne surtout pas développer un site en français dans un répertoire «/fr», un site anglais dans un site «/en», sinon on risque de favoriser et négliger l'autre, en plus le compte de développement est toujours multiplié par deux.
Mauvais noms Toujours copier-coller une nom de procédure, fonction ou variable. Lorsqu'on réécrit à chaque fois le nom, il y a toujours un risque qu'il y a une lettre de trop ou manquante, minuscule plutôt que majuscule et ainsi créer un bug étrange par effet de ricochet.
Nom inconnu Toujours prendre un nom de variable significatif. Password pour mot de passe, et non pas A pour votre première variable, B pour votre deuxième variable,...
Portabilité Les noms de fichiers toujours en majuscule ou toujours en minuscule. Cause des ennuis, lorsqu'on passe de Windows à Unix.
Sécurité utilisateur Ne jamais écrit une mot de passe en claire dans la base de données, utilisé un encodage quelconque (MD5, SHA-1,...).
Système instable Éviter les dépendances envers l'extérieur, il faut bâtir une application reposant essentiellement sur elle-même. De ce fait, maximiser la cohésion et minimiser le couplage.

Voir également

Article - Revue de code (code review)

PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 1 mai 2016