Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pt:manual:contrib:coding_style_guidelines [2020/04/26 19:28] i3_relativism |
pt:manual:contrib:coding_style_guidelines [2022/03/28 17:34] (current) i3_relativism ↷ Página movida de pt:contrib:coding_style_guidelines a pt:manual:contrib:coding_style_guidelines |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ... (WIP) | + | ...(WIP) |
+ | ====== Diretrizes de Estilo de Desenvolvimento do Codigo HyperbolaBSD ====== | ||
- | ====== Guia de Estilo de Desenvolvimento do Codigo HyperbolaBSD ====== | + | ===== Descricao |
- | + | Este artigo especifica o estilo preferido para o desenvolvimento do codigo fonte do kernel <color # | |
- | ... (WIP) | + | |
- | + | ||
- | ===== Description ===== | + | |
- | + | ||
- | This article specifies the preferred style for kernel | + | |
- | These guidelines should be followed for all new code. In general, code can be considered | + | |
<code c> | <code c> | ||
/* | /* | ||
- | | + | |
*/ | */ | ||
/* | /* | ||
- | | + | |
*/ | */ | ||
- | /* Most single-line comments look like this. */ | + | /* A maior parte de os comentarios de linha unica representam-se assim. */ |
/* | /* | ||
- | | + | |
- | | + | |
*/ | */ | ||
</ | </ | ||
- | Kernel | + | Os ficheiros |
<code c> | <code c> | ||
- | #include < | + | #include < |
</ | </ | ||
- | If it's a network program, put the network | + | Se for um programa de rede, ponha od ficheiros |
<code c> | <code c> | ||
Line 42: | Line 37: | ||
</ | </ | ||
- | Then there' | + | Deixe uma linha em branco, seguida por ficheiros<color # |
- | Global pathnames are defined in <color # | + | Pathnames globais estao definidos em <color # |
<code c> | <code c> | ||
Line 50: | Line 45: | ||
</ | </ | ||
- | Then there' | + | Deixe uma linha em branco, seguida pelos ficheiros iclude relativos ao usuario. |
<code c> | <code c> | ||
- | #include " | + | #include " |
</ | </ | ||
- | All functions are prototyped somewhere. | + | Todas as funcoes necessitam de ser initializadas com um prototipo da mesma. |
- | Function prototypes for private functions | + | Prototipos de funcoes privadas |
- | Functions used from other parts of the kernel | + | Funcoes usadas por outras partes do kernel |
- | Functions that are used locally in more than one module go into a separate | + | Funcoes que sao utilizadas localmente em mais de um modulo fonte, apresenta-se num ficheiro |
- | Prototypes should not have variable names associated with the types; i.e., | + | Prototipos nao deveram incluir nomes de variaveis com os tipos; ex., |
<code c> | <code c> | ||
Line 76: | Line 71: | ||
</ | </ | ||
- | Prototypes may have an extra space after a tab to enable function names to line up: | + | Prototipos poderam ter um espaco |
<code c> | <code c> | ||
Line 83: | Line 78: | ||
</ | </ | ||
- | There should be no space between the function name and the argument list. | + | Nao devera haver espaco entre o nome de funcao e a lista de argumentos. |
- | Use <color # | + | Utilize |
<code c> | <code c> | ||
Line 91: | Line 86: | ||
</ | </ | ||
- | In header | + | Nos ficheiros |
- | Macros | + | Macros |
<code c> | <code c> | ||
Line 102: | Line 97: | ||
</ | </ | ||
- | Enumeration values are all uppercase. | + | Valores de enumeracao sao todos em **!?!uppercase!?!**. |
<code c> | <code c> | ||
Line 108: | Line 103: | ||
</ | </ | ||
- | When defining unsigned | + | Na definicao de integers |
- | When declaring variables in structures, declare | + | Na declaracao de variaveis em estruturas, declare-as organizadas por uso, por seguida tamanho |
- | Major structures should be declared at the top of the file in which they are used, or in separate | + | Estruturas mais relevantes deveram ser declaradas no topo do ficheiro que estas estejam a ser usadas, ou em ficheiros |
<code c> | <code c> | ||
Line 123: | Line 118: | ||
</ | </ | ||
- | Use <color # | + | Utilize macros |
<code c> | <code c> | ||
Line 135: | Line 130: | ||
</ | </ | ||
- | Avoid using typedefs | + | Evite utilizar |
<code c> | <code c> | ||
/* | /* | ||
- | | + | |
- | | + | |
- | | + | |
*/ | */ | ||
int | int | ||
Line 150: | Line 145: | ||
</ | </ | ||
- | For consistency, <color # | + | Para haver consistencia, <color # |
<code c> | <code c> | ||
Line 176: | Line 171: | ||
</ | </ | ||
- | Use a space after keywords | + | Utilize um espaco depois de palavras chave (<color # |
<code c> | <code c> | ||
Line 194: | Line 189: | ||
</ | </ | ||
- | Parts of a <color # | + | Algumas partes de um <color # |
<code c> | <code c> | ||
Line 203: | Line 198: | ||
</ | </ | ||
- | Indentation is an 8 character | + | Identacao e um **!?tab?!** de 8 caractres. Identacao de segundo nivel sao quatro espacos. Todo o codigo deve caber em 80 colunas. |
<code c> | <code c> | ||
Line 212: | Line 207: | ||
</ | </ | ||
- | Do not add whitespace at the end of a line, and only use tabs followed by spaces to form the indentation. Do not use more spaces than a tab will produce and do not use spaces in front of tabs. | + | Nao adicione espacos em branco no final da linha, e somente utilize **!?tabs?!** seguidos de espacos para criar a identacao. Nao utilize mais espacos que um **!?tab?!** ira produzir, e nao utilize estes antes de espacos. |
- | Closing and opening braces go on the same line as the else. | + | Abertura e fecho de parentises apresentam-se na mesma linha que os anteriores. Parentises desnecessarios poderam poderam ser omitidos, a nao ser que estes causem um erro de compilamento. |
<code c> | <code c> | ||
Line 226: | Line 221: | ||
</ | </ | ||
- | Do not use spaces after function names. | + | Nao utilize espacos depois de nomes de funcoes. Virgulas apresentam um espaco apos as mesmas. Nao utilize espacos depois dos seguintes caracteres: |
<code c> | <code c> | ||
Line 233: | Line 228: | ||
</ | </ | ||
- | Unary operators don't require spaces; binary operators do. | + | Operadores unitarios nao requerem espacos; ao contrario dos operadores binarios. Nao utilize parentises a nao ser que estes sejam requeridos para precedencia, e que o **!?statement?!** se torne confuso sem a existencia destes, a nao ser que estes causem um erro de compilamento. Lembre-se que esta pratica podera confudir outros. |
<code c> | <code c> | ||
Line 240: | Line 235: | ||
</ | </ | ||
- | Exits should be <color # | + | Exits deverao utilizar |
<code c> | <code c> | ||
/* | /* | ||
- | | + | |
- | * "Exit 0 on success." | + | * "Exit 0 com successo." |
*/ | */ | ||
exit(0); | exit(0); | ||
</ | </ | ||
- | The function type should be on a line by itself preceding the function. | + | Esta tipo de funcao devera se apresentar numa linha separada, precedendo |
<code c> | <code c> | ||
Line 258: | Line 253: | ||
</ | </ | ||
- | When declaring variables in functions, declare | + | Ao declarar variaveis de funcoes, declare-as organizadas por uso, por seguida tamanho |
- | Be careful not to obfuscate the code by initializing variables in the declarations. Use this feature only thoughtfully. DO NOT use function calls in initializers! | + | enha cuidade para nao ofuscar codigo, atraves da intializacao de variaveis em declaracoes. Utilize esta tecnica apenas da maneira correcta. NAO UTILIZE chamadas de funcoes em **!?initializers"!?**. |
<code c> | <code c> | ||
Line 271: | Line 266: | ||
</ | </ | ||
- | Do not declare | + | Nao declare |
Casts and <color # | Casts and <color # | ||
- | Use of the “<color # | + | A utilizacao do **specificador? |
- | When using <color # | + | Na utilizacao de <color # |
<code c> | <code c> | ||
Line 283: | Line 278: | ||
</ | </ | ||
- | If any warnings of this type occur, you must apply the “<color # | + | Se qualquer erro de este tipo ocurrer, devera aplicar o "type-qualifier" |
<code c> | <code c> | ||
Line 289: | Line 284: | ||
</ | </ | ||
- | says that “< | + | Assumindo que “< |
<code c> | <code c> | ||
Line 295: | Line 290: | ||
</ | </ | ||
- | If both the pointer and the thing pointed to are volatile use | + | Se ambos o apontador e o que este esta apontando form volateis, utilize: |
<code c> | <code c> | ||
Line 301: | Line 296: | ||
</ | </ | ||
- | “< | + | “< |
<code c> | <code c> | ||
Line 307: | Line 302: | ||
</ | </ | ||
- | Global flags set inside signal | + | Bandeiras globais defenidas dentro de **!?handlers?!** de sinais deverao ser do tipo “< |
- | NULL is the preferred null pointer constant. | + | NULL e a contaste preferida para apontadores nulos. Utilize |
- | Don't use ‘< | + | Nao utilize |
<code c> | <code c> | ||
Line 317: | Line 312: | ||
</ | </ | ||
- | not | + | nao |
<code c> | <code c> | ||
Line 323: | Line 318: | ||
</ | </ | ||
- | Routines | + | **!?Routines?!** que retornam |
- | Use the <color # | + | Utilize as familias de funcoes |
<code c> | <code c> | ||
Line 335: | Line 330: | ||
</ | </ | ||
- | Old-style function declarations look like this: | + | Funcoes de estilo antigo apresentam-se desta maneira: |
<code c> | <code c> | ||
Line 348: | Line 343: | ||
</ | </ | ||
- | Use <color # | + | Utilize declaracoes de funcoes |
- | Variable numbers of arguments should look like this: | + | Numeros variaveis de argumentos devem-se apresentar desta maneira: |
<code c> | <code c> | ||
Line 373: | Line 368: | ||
</ | </ | ||
- | Usage statements should take the same form as the synopsis | + | Expressoes de uso deverao-se apresentar da mesma forma que a synopsis |
- | A bar (‘< | + | Utilize uma barra (‘< |
- | If numbers are used as options, they should be placed first, as shown in the example below. Uppercase | + | Se numeros sao utilizados como opcoes, estes deveram se apresentar primeiro, como mostra o exemplo a baixo. letras em **Uppercase** tem precedencia de letras em **lowercase**. |
<code c> | <code c> | ||
Line 384: | Line 379: | ||
</ | </ | ||
- | The <color # | + | A funcao |
<code c> | <code c> | ||
Line 390: | Line 385: | ||
</ | </ | ||
- | New core kernel | + | Novo codigo base de kernel |
- | Whenever possible, code should be run through a code checker | + | Sempre que possivel, codigo devera correr atraves de um verificador de codigo |
- | Note that documentation follows its own style guide, as documented in <color # | + | Verifique que certa documentacao segue os seus proprios parametros de estilo, como documentado em <color # |
- | ===== History | + | ===== Historia |
- | This article is largely based on the <color # | + | Este artigo |
- | ===== Licensing | + | ===== Licensiamento |
- | This wiki article is released under the [[https:// | + | Este artigo |
- | ===== Acknowledgement | + | ===== Créditos |
- | This wiki article is based on **[[https:// | + | Este artigo |