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/08/11 12:33] i3_relativism |
pt:manual:contrib:coding_style_guidelines [2024/10/25 15:34] (current) luck02 [Descrição] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ... (WIP) | + | ...(WIP) |
+ | ====== Diretrizes do Modelo de Desenvolvimento do Código HyperbolaBSD ====== | ||
- | ====== | + | ===== Descrição |
- | + | Este artigo especifica o modelo | |
- | ... (WIP) | + | |
- | + | ||
- | ===== Descricao ===== | + | |
- | + | ||
- | Este artigo especifica o estilo | + | |
- | Este guia devera | + | |
<code c> | <code c> | ||
/* | /* | ||
- | | + | |
*/ | */ | ||
/* | /* | ||
- | | + | |
*/ | */ | ||
- | /* Most single-line comments look like this. */ | + | /* A maior parte dos comentários de linha única representam-se assim. */ |
/* | /* | ||
- | | + | |
- | | + | |
*/ | */ | ||
</ | </ | ||
- | Kernel | + | Os arquivos |
<code c> | <code c> | ||
- | #include < | + | #include < |
</ | </ | ||
- | If it's a network program, put the network | + | Se for um programa de rede, ponha o arquivo |
<code c> | <code c> | ||
Line 42: | Line 37: | ||
</ | </ | ||
- | Then there' | + | Deixe uma linha em branco, seguida por arquivos<color # |
- | Global pathnames are defined in <color # | + | Pathnames globais estão definidos em <color # |
<code c> | <code c> | ||
Line 50: | Line 45: | ||
</ | </ | ||
- | Then there' | + | Deixe uma linha em branco, seguida para os arquivos iclude relativos ao usuário. |
<code c> | <code c> | ||
- | #include " | + | #include " |
</ | </ | ||
- | All functions are prototyped somewhere. | + | Todas as funções necessitam de ser initializadas com um prototipo da mesma. |
- | Function prototypes for private functions | + | Prototipos de funções privadas |
- | Functions used from other parts of the kernel | + | Funções usadas por outras partes do kernel |
- | Functions that are used locally in more than one module go into a separate | + | Funções que são utilizadas localmente em mais de um módulo fonte, apresenta-se num arquivo |
- | Prototypes should not have variable names associated with the types; i.e., | + | Prototipos não deveram incluir nomes de variáveis 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 espaço |
<code c> | <code c> | ||
Line 83: | Line 78: | ||
</ | </ | ||
- | There should be no space between the function name and the argument list. | + | Não deverá haver espaço entre o nome da função e a lista dos argumentos. |
- | Use <color # | + | Utilize |
<code c> | <code c> | ||
Line 91: | Line 86: | ||
</ | </ | ||
- | In header | + | Nos arquivos |
- | Macros | + | Macros |
<code c> | <code c> | ||
Line 102: | Line 97: | ||
</ | </ | ||
- | Enumeration values are all uppercase. | + | Valores de enumeração são 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 declaração de variáveis nas estruturas, declare-as organizadas por uso, em 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 arquivo que estas estejam a ser usadas, ou nos arquivos |
<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 espaço depois das 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 | + | Identação é um **!?tab?!** de 8 caractres. Identaçãoo de segundo nível são quatro espaços. Todo o código 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. | + | Não adicione espaços em branco no final da linha, e somente utilize **!?tabs?!** seguidos de espaços para criar a identação. Não utilize mais espaços que um **!?tab?!** ira produzir, e não utilize estes antes de espaços. |
- | Closing and opening braces go on the same line as the else. | + | Abertura e fechamento de parentises apresentam-se na mesma linha que os anteriores. Parentises desnecessarios poderam ser omitidos, a não ser que estes causem um erro de compilamento. |
<code c> | <code c> | ||
Line 226: | Line 221: | ||
</ | </ | ||
- | Do not use spaces after function names. | + | Não utilize espaços depois dos nomes das funções. Virgulas apresentam um espaço após as mesmas. Não utilize espaços depois dos seguintes caracteres: |
<code c> | <code c> | ||
Line 233: | Line 228: | ||
</ | </ | ||
- | Unary operators don't require spaces; binary operators do. | + | Operadores unitarios não requerem espaços; ao contrário dos operadores binários. Não utilize parentises a não ser que estes sejam requeridos para precedencia, e que o **!?statement?!** se torne confuso sem a existencia destes, a não ser que estes causem um erro de compilamento. Lembre-se que esta prática podera confudir outros. |
<code c> | <code c> | ||
Line 240: | Line 235: | ||
</ | </ | ||
- | Exits should be <color # | + | Exits deverão 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. | + | Este tipo de função deverá se apresentar numa linha separada, precedendo |
<code c> | <code c> | ||
Line 258: | Line 253: | ||
</ | </ | ||
- | When declaring variables in functions, declare | + | Ao declarar variáveis das funções, 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! | + | Tenha cuidado para não ofuscar o código, através da utilização de variaveis em declarações. Utilize esta técnica apenas da maneira correcta. NãO UTILIZE chamadas de funções em **!?initializers"!?**. |
<code c> | <code c> | ||
Line 271: | Line 266: | ||
</ | </ | ||
- | Do not declare | + | Não declare |
Casts and <color # | Casts and <color # | ||
- | Use of the “<color # | + | A utilização do **specificador? |
- | When using <color # | + | Na utilização 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 deeste tipo ocorrer, deverá 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 ‘< | + | Não utilize |
<code c> | <code c> | ||
Line 317: | Line 312: | ||
</ | </ | ||
- | not | + | não |
<code c> | <code c> | ||
Line 323: | Line 318: | ||
</ | </ | ||
- | Routines | + | **!?Routines?!** que retornam |
- | Use the <color # | + | Utilize as familias de funções |
<code c> | <code c> | ||
Line 335: | Line 330: | ||
</ | </ | ||
- | Old-style function declarations look like this: | + | Funções desse modelo do antigo apresentam-se desta maneira: |
<code c> | <code c> | ||
Line 348: | Line 343: | ||
</ | </ | ||
- | Use <color # | + | Utilize declarações de funções |
- | 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 | + | Expressões de uso deverão 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 código base de kernel |
- | Whenever possible, code should be run through a code checker | + | Sempre que possível, código deverá rodar através de um verificador de código |
- | Note that documentation follows its own style guide, as documented in <color # | + | Verifique que certa documentação segue os seus proprios parametros de estilo, como documentado em <color # |
- | ===== History | + | ===== História |
- | This article is largely based on the <color # | + | Este artigo |
- | ===== Licensing | + | ===== Licenciamento |
- | This wiki article is released under the [[https:// | + | Este artigo da wiki estar publicado sobre a [[https:// |
- | ===== Acknowledgement | + | ===== Créditos |
- | This wiki article is based on **[[https:// | + | Este artigo |