Lines Matching +full:se +full:- +full:pos

1 .. include:: ../disclaimer-sp.rst
3 :Original: :ref:`Documentation/process/coding-style.rst <submittingpatches>`
24 -----------
37 el código se mueva demasiado a la derecha y dificulta la lectura en una
49 sangría`` (``double-indenting``) en etiquetas ``case``. Por ejemplo:
51 .. code-block:: c
73 .. code-block:: c
80 .. code-block:: c
87 .. code-block:: c
99 espacios nunca se utilizan para la sangría, y el ejemplo anterior se rompe
106 ------------------------------------
118 se colocan sustancialmente a la derecha. Un estilo muy usado es alinear
121 Estas mismas reglas se aplican a los encabezados de funciones con una larga
129 ----------------------------------
138 .. code-block:: c
144 Esto se aplica a todos los bloques de declaraciones que no son funciones
147 .. code-block:: c
163 .. code-block:: c
180 .. code-block:: c
188 .. code-block:: c
208 .. code-block:: c
215 .. code-block:: none
225 .. code-block:: c
236 .. code-block:: c
250 generalmente se usan con paréntesis en Linux, aunque no son requeridos en
252 se declare).
260 .. code-block:: c
268 .. code-block:: c
277 .. code-block:: c
287 = + - < > * / % | & ^ <= >= == != ? :
291 & * + - ~ ! sizeof typeof alignof __attribute__ defined
296 ++ --
299 ``->``.
311 usted; sin embargo, si se aplica una serie de parches, esto puede hacer que
317 ---------------
320 seguir su ejemplo. A diferencia de los programadores de Modula-2 y Pascal,
343 cualquier tipo de variable que se utiliza para contener un valor temporal.
346 problema, que se denomina síndrome de
347 función-crecimiento-desequilibrio-de-hormona. Vea el capítulo 6 (Funciones).
371 -----------
376 .. code-block:: c
384 .. code-block:: c
393 (a) objetos totalmente opacos (donde el typedef se usa activamente para
414 De nuevo - debe haber una **razón** para esto. si algo es
431 algunas personas se oponen a su uso de todos modos.
445 tanto, usamos __u32 y tipos similares en todas las estructuras que se
456 ------------
469 primer año de secundaria menos que dotado podría no comprender de qué se
479 elemento más y se confunde. Usted sabe que es brillante, pero tal vez le
486 .. code-block:: c
498 de datos. Aunque esto no es requerido por el lenguaje C, se prefiere en
506 <https://lore.kernel.org/mm-commits/CAHk-=wiOCLRny5aifWNhr621kYrJwhfURsa0vFPeUEm8mF0ufg@mail.gmail.…
514 - clase de almacenamiento (a continuación, ``static __always_inline``,
516 pero se trata como ``inline``)
517 - atributos de clase de almacenamiento (aquí, ``__init`` -- es decir,
519 - tipo de retorno (aquí, ``void *``)
520 - atributos de tipo de retorno (aquí, ``__must_check``)
521 - nombre de la función (aquí, ``action``)
522 - parámetros de la función (aquí, ``(enum magic value, size_t size, u8 count, char *fmt, ...)``,
525 - atributos de parámetros de función (aquí, ``__printf(4, 5)``)
526 - atributos de comportamiento de la función (aquí, ``__malloc``)
542 -----------------------------------
549 ubicaciones y se deben realizar algunos trabajos comunes, como la limpieza.
550 Si no se necesita limpieza, entonces simplemente haga return directamente.
555 nombres GW-BASIC como ``err1:`` y ``err2:``, ya que tendría que volver a
561 - Las declaraciones incondicionales son más fáciles de entender y seguir.
562 - se reduce el anidamiento
563 - errores al no actualizar los puntos de salida individuales al hacer
565 - ahorra el trabajo del compilador de optimizar código redundante ;)
567 .. code-block:: c
576 return -ENOMEM;
594 .. code-block:: c
597 kfree(foo->bar);
605 .. code-block:: c
608 kfree(foo->bar);
617 --------------
635 kernel-doc. Consulte los archivos en :ref:`Documentation/doc-guide/ <doc_guide>`
636 y ``scripts/kernel-doc`` para más detalles.
640 .. code-block:: c
652 largos (multi-linea) es un poco diferente.
654 .. code-block:: c
657 * se asemeja a esto.
669 ---------------------------
674 menos que deseables (de hecho, son peores que los aleatorios) escribiendo -
682 .. code-block:: none
684 (defun c-lineup-arglist-tabs-only (ignored)
686 (let* ((anchor (c-langelem-pos c-syntactic-element))
687 (column (c-langelem-2nd-pos c-syntactic-element))
688 (offset (- (1+ column) anchor))
689 (steps (floor offset c-basic-offset)))
691 c-basic-offset)))
693 (dir-locals-set-class-variables
694 'linux-kernel
695 '((c-mode . (
696 (c-basic-offset . 8)
697 (c-label-minimum-indentation . 0)
698 (c-offsets-alist . (
699 (arglist-close . c-lineup-arglist-tabs-only)
700 (arglist-cont-nonempty .
701 (c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
702 (arglist-intro . +)
703 (brace-list-intro . +)
704 (c . c-lineup-C-comments)
705 (case-label . 0)
706 (comment-intro . c-lineup-comment)
707 (cpp-define-intro . +)
708 (cpp-macro . -1000)
709 (cpp-macro-cont . +)
710 (defun-block-intro . +)
711 (else-clause . 0)
712 (func-decl-cont . +)
714 (inher-cont . c-lineup-multi-inher)
715 (knr-argdecl-intro . 0)
716 (label . -1000)
718 (statement-block-intro . +)
719 (statement-case-intro . +)
720 (statement-cont . +)
723 (indent-tabs-mode . t)
724 (show-trailing-whitespace . t)
727 (dir-locals-set-directory-class
728 (expand-file-name "~/src/linux-trees")
729 'linux-kernel)
732 C en archivos bajo ``~/src/linux-trees``.
742 lo que simplemente de a la sangría las opciones ``-kr -i8`` (significa
746 ``indent`` tiene muchas opciones, y especialmente cuando se trata de
751 Tenga en cuenta que también puede usar la herramienta ``clang-format`` para
757 :ref:`Documentation/process/clang-format.rst <clangformat>` para más
761 ----------------------------------------
772 Habilita la infraestructura de auditoría que se puede usar con otro
787 consulte el archivo Documentation/kbuild/kconfig-language.rst.
791 ------------------------
801 que múltiples usuarios tengan acceso a la estructura de datos en paralelo -
807 El bloqueo se utiliza para mantener la coherencia de las estructuras de
817 Se pueden encontrar ejemplos de este tipo de ``recuento de referencias de
826 ------------------------
831 .. code-block:: c
835 Se prefieren los enums cuando se definen varias constantes relacionadas.
837 Se aprecian los nombres de macro en MAYÚSCULAS, pero las macros que se
840 Generalmente, las funciones en línea son preferibles a las macros que se
843 Las macros con varias instrucciones deben contenerse en un bloque do-while:
845 .. code-block:: c
857 .. code-block:: c
862 return -EBUGGERED; \
871 .. code-block:: c
878 3) macros con argumentos que se usan como valores l: FOO(x) = y; le van
885 .. code-block:: c
891 locales en macros que se asemejan a funciones:
893 .. code-block:: c
902 ret es un nombre común para una variable local -es menos probable que
906 gcc también cubre RTL, que se usa frecuentemente con lenguaje ensamblador
910 --------------------------------
931 Sin embargo, la impresión de mensajes de depuración se maneja de manera
933 Mientras que las otras funciones pr_XXX() se imprimen incondicionalmente,
934 pr_debug() no lo hace; se compila fuera por defecto, a menos que DEBUG sea
935 definido o se establezca CONFIG_DYNAMIC_DEBUG. Eso es cierto para dev_dbg()
940 -DDEBUG en el Makefile correspondiente; en otros casos, los archivos
946 ----------------------
951 a cerca de ellos. :ref:`Documentation/core-api/memory-allocation.rst
956 .. code-block:: c
960 La forma alternativa donde se deletrea el nombre de la estructura perjudica
961 la legibilidad, y presenta una oportunidad para un error cuando se cambia
963 se pasa a un asignador de memoria no.
971 .. code-block:: c
977 .. code-block:: c
985 (" stack dump") en caso de fallo cuando se usan sin __GFP_NOWARN, por lo
986 que no sirve de nada emitir un mensaje de fallo adicional cuando se
990 ----------------------------
1005 que se sabe que un parámetro es una constante en tiempo de compilación, y
1011 estáticas y se usan solo una vez, es siempre una victoria ya que no hay
1019 -----------------------------------------------
1023 Dicho valor se puede representar como un número entero de código de error
1024 (-Exxx = falla, 0 = éxito) o un booleano ``con éxito`` (0 = falla, distinto
1038 agregar_trabajo() devuelve 0 en caso de éxito o -EBUSY en caso de fracaso.
1054 ----------------
1059 Cuando se utilizan tipos booleanos,
1060 !! no se necesita construcción, lo que elimina una clase de errores.
1062 Cuando se trabaja con valores booleanos, se deben usar las definiciones
1066 se pueden usar cuando esto sea adecuado. Se recomienda el uso de bool para
1079 De manera similar, para los argumentos de función, se pueden consolidar
1088 ---------------------------------------
1095 .. code-block:: c
1102 .. code-block:: c
1104 #define sizeof_field(t, f) (sizeof(((t*)0)->f))
1112 ---------------------------------------
1118 .. code-block:: c
1120 -*- mode: c -*-
1124 .. code-block:: c
1128 compile-command: "gcc -DMAGIC_DEBUG_FLAG foo.c"
1132 Vim interpreta los marcadores que se ven así:
1134 .. code-block:: c
1146 -----------------------
1173 .. code-block:: c
1180 ---------------------------
1206 .. code-block:: c
1218 hace referencia a símbolos que no existirán si no se cumple la condición.
1224 .. code-block:: c
1231 -----------------------
1240 del sistema. panic() es, por ejemplo, aceptable cuando se queda sin memoria
1259 Generalmente, se prefiere WARN_ON_ONCE() a WARN() o WARN_ON(), porque es
1262 el sistema lo suficiente como para que el registro excesivo se convierta en
1269 suceder. Las macros WARN*() no deben usarse para nada que se espera que
1276 No se preocupe sobre panic_on_warn de usuarios
1283 es una razón válida para evitar el uso juicioso de WARN*(). Esto se debe a
1285 fallara si se dispara un WARN*(), y tales usuarios deben estar preparados
1287 se rompa.
1296 -----------------------
1301 ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).
1305 Addison-Wesley, Inc., 1999.
1306 ISBN 0-201-61586-X.
1308 manuales GCC - en cumplimiento con K&R y este texto - para cpp, gcc,
1312 programación en lenguaje C, URL: http://www.open-std.org/JTC1/SC22/WG14/
1314 :ref:`process/coding-style.rst <codingstyle>` del kernel, por greg@kroah.com at OLS 2002: