Select the product you need help with
INFO: Microsoft Consulting Services convenciones de nomenclatura para Visual BasicId. de artículo: 110264 - Ver los productos a los que se aplica este artículo En esta páginaResumenEs una buena idea establecer convenciones de nomenclatura para el código de Visual Basic. Este artículo proporciona las convenciones de nomenclatura utilizadas por Microsoft Consulting Services (MCS). Este documento es un superconjunto de las convenciones de codificación de Visual Basic que se encuentra en Visual Basic "Guía del programador". Nota: Los controles de terceros mencionados en este artículo están fabricados por proveedores independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, respecto al rendimiento de estos controles o confiabilidad. Más informaciónConvenciones de nomenclatura ayudan a los programadores de Visual Basic:
Establecer las opciones de entornoUtilice Option Explicit. Declarar las variables todo para guardar el tiempo de programación reduciendo el número de errores causados por errores tipográficos (por ejemplo, aUserNameTmp frente a sUserNameTmp frente a sUserNameTemp). En el cuadro de diálogo Opciones de entorno, establezca la declaración de variable requerida en Sí. La instrucción Option Explicit requiere declarar todas las variables en el programa de Visual Basic. Guardar archivos como texto ASCII. Guardar formulario (.frm) y módulo (.BAS) archivos como texto ASCII para facilitar el uso de sistemas de control de versiones y minimizar los daños que pueden deberse a daños en el disco. Además, puede:
Objeto convenciones de nomenclatura para objetos estándarLas siguientes tablas definen los prefijos de nombre de objeto estándar de MCS. Estos prefijos son coherentes con los documentados en la Guía de programadores de Visual Basic.Prefix Object Type Example ------------------------------------------------------- ani Animation button aniMailBox bed Pen Bedit bedFirstName cbo Combo box and drop down list box cboEnglish chk Checkbox chkReadOnly clp Picture clip clpToolbar cmd (3d) Command button (3D) cmdOk (cmd3dOk) com Communications comFax ctr Control (when specific type unknown) ctrCurrent dat Data control datBiblio dir Directory list box dirSource dlg Common dialog control dlgFileOpen drv Drive list box drvTarget fil File list box filSource frm Form frmEntry fra (3d) Frame (3d) fraStyle (fra3dStyle) gau Gauge gauStatus gpb Group push button gpbChannel gra Graph graRevenue grd Grid grdPrices hed Pen Hedit hedSignature hsb Horizontal scroll bar hsbVolume img Image imgIcon ink Pen Ink inkMap key Keyboard key status keyCaps lbl Label lblHelpMessage lin Line linVertical lst List box lstPolicyCodes mdi MDI child form mdiNote mpm MAPI message mpmSentMessage mps MAPI session mpsSession mci MCI mciVideo mnu Menu mnuFileOpen opt (3d) Option Button (3d) optRed (opt3dRed) ole OLE control oleWorksheet out Outline control outOrgChart pic Picture picVGA pnl3d 3d Panel pnl3d rpt Report control rptQtr1Earnings shp Shape controls shpCircle spn Spin control spnPages txt Text Box txtLastName tmr Timer tmrAlarm vsb Vertical scroll bar vsbRate Objeto convención de nomenclatura para objetos de base de datosPrefix Object Type Example ------------------------------------------ db ODBC Database dbAccounts ds ODBC Dynaset object dsSalesByRegion fdc Field collection fdcCustomer fd Field object fdAddress ix Index object ixAge ixc Index collection ixcNewAge qd QueryDef object qdSalesByRegion qry (suffix) Query (see NOTE) SalesByRegionQry ss Snapshot object ssForecast tb Table object tbCustomer td TableDef object tdCustomers Convenciones de nomenclatura de menúLas aplicaciones utilizan con frecuencia una abundancia de controles de menú. Como resultado, necesita un conjunto de convenciones de nomenclatura diferente para estos controles. Los prefijos de control de menú deben extenderse más allá de la etiqueta inicial mnu agregando un prefijo adicional para cada nivel de anidamiento, con el título de menú final al final de la cadena de nombre. Por ejemplo:Menu Caption Sequence Menu Handler Name Help.Contents mnuHelpContents File.Open mnuFileOpen Format.Character mnuFormatCharacter File.Send.Fax mnuFileSendFax File.Send.Email mnuFileSendEmail Convenciones de nomenclatura para otros controlesPara controles nuevos no enumerados anteriormente, intente idear un prefijo de tres caracteres único. Sin embargo, es más importante que desactive que al ceñirse a tres caracteres.Para los controles derivados, como un cuadro de lista mejorada, amplían los prefijos anteriores por lo que no hay confusión sobre el control que realmente se utiliza. Normalmente también se añadirán al prefijo de una abreviatura de minúscula para el fabricante. Por ejemplo, una instancia del control creada desde el marco 3D podría Visual Basic Professional utiliza un prefijo de fra3d para evitar confusiones sobre qué control realmente se utiliza. Un botón de comando desde MicroHelp podría utilizar cmdm para diferenciarlo en el botón de comando estándar (cmd). Controles de tercerosCada control de terceros utilizado en una aplicación debe enumerarse en sección de comentario de información general de la aplicación, que proporciona el prefijo utilizado para el control, el nombre completo del control y el nombre del proveedor de software:Prefix Control Type Vendor cmdm Command Button MicroHelp Variable y el nombre de rutinaLos nombres de variable y función tienen la siguiente estructura: <prefix><body><qualifier><suffix>Part Description Example -------------------------------------------------------------------------- <prefix> Describes the use and scope of the variable. iGetRecordNext <body> Describes the variable. iGetNameFirst <qualifier> Denotes a derivative of the variable. iGetNameLast <suffix> The optional Visual Basic type character. iGetRecordNext% Las siguientes tablas definen prefijos de nombre de variable y función que se basan en notación húngara C para Windows. Estos prefijos se deben utilizar con todas las variables y nombres de función. Uso de sufijos básicos antiguos (como % & #, etc.) son desaconsejado. Variable y prefijos de nombre de función:
Prefix Converged Variable Use Data Type Suffix
--------------------------------------------------------------------------
b bln Boolean Integer %
c cur Currency - 64 bits Currency @
d dbl Double - 64 bit Double #
signed quantity
dt dat Date and Time Variant
e err Error
f sng Float/Single - 32 Single !
bit signed
floating point
h Handle Integer %
i Index Integer %
l lng Long - 32 bit Long &
signed quantity
n int Number/Counter Integer %
s str String String $
u Unsigned - 16 bit Long &
unsigned quantity
udt User-defined type
vnt vnt Variant Variant
a Array
Ámbito y prefijos de uso: Prefix Description g Global m Local to module or form st Static variable (no prefix) Non-static variable, prefix local to procedure v Variable passed by value (local to a routine) r Variable passed by reference (local to a routine) iSend - representa un recuento del número de mensajes enviados Indique cada uno de estos nombres de variables a un programador algo muy diferente. Esta información se pierde cuando el nombre de la variable se reduce a enviar %. Prefijos del ámbito como g y m también reducen el problema de contención de nombre especialmente en proyectos de varios programadores. bSend - A flag definir el éxito de la última operación de envío hSend - un identificador para la interfaz de comunicaciones Notación húngara es también muy utilizado por los programadores de C de Windows y hace referencia continuamente en la documentación del producto de Microsoft y en libros de programación del sector. Además, el bono entre los programadores C y programadores que utilizan Visual Basic será mucho más fuerte como el impulso de ganancias C++ del sistema de desarrollo. Esta transición dará como resultado muchos programadores de Visual Basic mover a C para la primera vez y muchos programadores con frecuencia mover hacia delante y hacia atrás entre ambos entornos. El cuerpo de variable y nombres de rutinaEl cuerpo de una variable o el nombre de rutina debe utilizar mayúsculas y minúsculas mezcladas y debe ser tan largo como sea necesario para describir su finalidad. Además, los nombres de función deben comenzar con un verbo, como InitNameArray o CloseDialog.Para términos utilizados con frecuencia o largos, se recomiendan mantener las longitudes de nombre razonable abreviaturas estándar. En general, los nombres de variables mayor de 32 caracteres pueden difíciles de leer en pantallas VGA. Al utilizar abreviaturas, asegúrese de que sean coherentes en toda la aplicación. Cambiar aleatoriamente entre número y número dentro de un proyecto se conducir a confusión innecesario. Calificadores de variable y nombres de rutinaVariables relacionadas y rutinas suelen utilizarse para administrar y manipular un objeto común. En estos casos, utilice calificadores estándar para etiquetar las variables derivadas y rutinas. Aunque poner el calificador después de que el cuerpo del nombre puede parecer un poco complicado (como en sGetNameFirst, sGetNameLast en lugar de sGetFirstName, sGetLastName) este ejercicio ayudará a listas de estos nombres juntos en la rutina de editor de Visual Basic, lo que el lógica y la estructura de la aplicación sea más fácil de entender el orden. En la tabla siguiente se definen los calificadores comunes y su significado estándar:
Qualifier Description (follows Body)
--------------------------------------------------------------------------
First First element of a set.
Last Last element of a set.
Next Next element in a set.
Prev Previous element in a set.
Cur Current element in a set.
Min Minimum value in a set.
Max Maximum value in a set.
Save Used to preserve another variable that must be reset later.
Tmp A "scratch" variable whose scope is highly localized within the
code. The value of a Tmp variable is usually only valid across
a set of contiguous statements within a single procedure.
Src Source. Frequently used in comparison and transfer routines.
Dst Destination. Often used in conjunction with Source.
Tipos definidos por el usuarioDeclarar tipos de definido por el usuario en mayúsculas con _TYPE anexado al final del nombre del símbolo. Por ejemplo:Constantes de nomenclaturaEl cuerpo de los nombres de constantes debe ser UPPER_CASE con caracteres de subrayado (_) entre palabras. Aunque constantes estándar de Visual Basic no incluyen información húngaro, prefijos como i, s, g y m puede ser muy útil para comprender el valor y el ámbito de una constante. Para los nombres de constantes, siguen las mismas reglas como variables. Por ejemplo:Tipo de datos VariantSi sabe que una variable siempre almacenar datos de un tipo determinado, Visual Basic puede controlar los datos más eficazmente si declara una variable de ese tipo.Sin embargo, el tipo de datos variant puede ser muy útil al trabajar con bases de datos, mensajes, DDE u OLE. Muchas bases de datos permiten NULL como un valor válido para un campo. El código necesita distinguir entre NULL, 0 (cero), y "" (cadena vacía). Muchas veces, estos tipos de operaciones pueden utilizar una rutina de servicio genérico no es necesario conocer el tipo de datos que recibe para procesar o pasar en los datos. Por ejemplo: Comentarios del códigoTodos los procedimientos y funciones deben comenzar con un breve comentario que describe las características funcionales de la rutina (lo que hace). Esta descripción debería describir no los detalles de implementación (cómo lo hace) porque estos suelen cambian a lo largo del tiempo, lo trabajo de mantenimiento de comentario innecesarios o peor aún, comentarios erróneos. El propio código y los comentarios en línea o locales necesarios se describen la implementación.Parámetros pasados a una rutina deben ser descritos cuando sus funciones no son obvias y cuando la rutina espera los parámetros en un intervalo específico. Función devolver valores y variables globales que han cambiado por la rutina (especialmente a través de los parámetros de referencia) también deben describirse al principio de cada rutina. Comentario del encabezado rutina deben buscar bloques como este (consulte la sección siguiente "Formato el código" para obtener un ejemplo):
Section Comment Description
--------------------------------------------------------------------------
Purpose What the routine does (not how).
Inputs Each non-obvious parameter on a separate line with
in-line comments
Assumes List of each non-obvious external variable, control, open file,
and so on.
Returns Explanation of value returned for functions.
Effects List of each effected external variable, control, file, and
so on and the affect it has (only if this is not obvious)
Las variables, controles y rutinas deben tener un nombre lo suficientemente claro para que comentarios en línea sólo es necesario para detalles de implementación complejas o no intuitivo. Una descripción de información general de la aplicación, enumerar objetos de datos principal, rutinas y algoritmos, cuadros de diálogo, base de datos y archivo de dependencias del sistema y así sucesivamente deben ser incluida al principio del módulo .BAS que contiene declaraciones de constante genéricas del proyecto Visual Basic. Nota: La ventana de proyecto intrínsecamente describe la lista de archivos en un proyecto, por lo que esta sección de información general sólo se necesita proporcionar información sobre los módulos y los archivos más importantes o los archivos que no mostrar la ventana proyecto, como archivos de base de datos o de inicialización (ini). El código de formatoDado que muchos programadores utilizan todavía muestra VGA, inmobiliaria de pantalla debe se ahorra tanto como sea posible pero permitiendo formato para reflejar la estructura lógica y el anidamiento de código.Bloque estándar, basada en ficha, las sangrías de anidamiento debe ser dos a cuatro espacios. Más de cuatro espacios innecesarios y puede hacer que las instrucciones que se oculta o trunca accidentalmente. Menos de dos espacios no muestra suficientemente anidamiento lógica. En Microsoft Knowledge Base, utilizamos una sangría de espacio de tres. Utilice el cuadro de diálogo Opciones de entorno para establecer el ancho de la ficha predeterminado. El comentario de introducción funcional de una rutina debe ser un espacio de sangría. Las instrucciones de nivel más altos que siga el comentario de introducción deben ser una ficha con sangría, con cada bloque anidado aplica sangría a una ficha adicional. Por ejemplo: OperadoresSiempre utilice una y comercial (&) al concatenar cadenas y el signo más (+) cuando se trabaja con valores numéricos. Con un signo más (+) con valores no numéricos, puede causar problemas cuando funciona en las dos variantes. Por ejemplo:ÁmbitoSiempre se deben definir las variables con el ámbito más pequeño posible. Variables globales pueden cree máquinas de estado enormemente complejos y realice la lógica de una aplicación extremadamente difíciles de entender. Variables globales también que la reutilización y mantenimiento de su código mucho más difícil. Variables en Visual Basic pueden tener el siguiente ámbito:
Scope Variable Declared In: Visibility
--------------------------------------------------------------------------
Procedure-level Event procedure, sub, or Visible in the
function procedure in which
it is declared
Form-level, Declarations section of a form Visible in every
Module-level or code module (.FRM, .BAS) procedure in the
form or code
module
Global Declarations section of a code Always visible
module (.BAS, using Global
keyword)
Si debe utilizar variables globales, es conveniente declarar todas ellas en un solo módulo y agruparlos por función. Asignar el módulo de un nombre significativo que indique su propósito, como GLOBAL.BAS. Con la excepción de variables (que no deben pasarse), procedimientos y funciones globales sólo deben trabajar con objetos que se pasan a ellos. Variables globales que se utilizan en las rutinas deben identificarse en el área comentario general en el principio de la rutina. Además, pasar argumentos a subrutinas y funciones mediante ByVal, a menos que explícitamente desee cambiar el valor del argumento pasado. Escribir código modular siempre que sea posible. Por ejemplo, si la aplicación muestra un cuadro de diálogo, colocar todos los controles y código necesario para realizar tareas del cuadro de diálogo en un solo formulario. Esto ayuda a mantener el código de la aplicación organizado en componentes útiles y reduce su sobrecarga de tiempo de ejecución. Controles de tercerosNota: Los productos que se describen a continuación están fabricados por proveedores independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, con respecto al rendimiento o confiabilidad de estos productos.La tabla siguiente muestra caracteres de prefijo nombre de proveedor estándar de terceros para utilizarse con los prefijos de control: Vendor Abbv ------------------------- MicroHelp (VBTools) m Pioneer Software p Crescent Software c Sheridan Software s Other (Misc) o
Control Control Abbr Vendor Example VBX File
Type Name Name
--------------------------------------------------------------------------
Alarm Alarm almm MicroHelp almmAlarm MHTI200.VBX
Animate Animate anim MicroHelp animAnimate MHTI200.VBX
Callback Callback calm MicroHelp calmCallback MHAD200.VBX
Combo Box DB_Combo cbop Pioneer cbopComboBox QEVBDBF.VBX
Combo Box SSCombo cbos Sheridan cbosComboBox SS3D2.VBX
Check Box DB_Check chkp Pioneer chkpCheckBox QEVBDBF.VBX
Chart Chart chtm MicroHelp chtmChart MHGR200.VBX
Clock Clock clkm MicroHelp clkmClock MHTI200.VBX
Button Command cmdm MicroHelp cmdmCommandButton MHEN200.VBX
Button
Button DB_Command cmdp Pioneer cmdpCommandButton QEVBDBF.VBX
Button (Group) Command cmgm MicroHelp cmgmBtton MHGR200.VBX
Button
(multiple)
Button Command cmim MicroHelp cmimCommandButton MHEN200.VBX
Button
(icon)
CardDeck CardDeck crdm MicroHelp crdmCard MHGR200.VBX
Dice Dice dicm MicroHelp dicmDice MHGR200.VBX
List Box (Dir) SSDir dirs Sheridan dirsDirList SS3D2.VBX
List Box (Drv) SSDrive drvs Sheridan drvsDriveList SS3D2.VBX
List Box (File) File List film MicroHelp filmFileList MHEN200.VBX
List Box (File) SSFile fils Sheridan filsFileList SS3D2.VBX
Flip Flip flpm MicroHelp flpmButton MHEN200.VBX
Scroll Bar Form Scroll fsrm MicroHelp fsrmFormScroll ???
Gauge Gauge gagm MicroHelp gagmGauge MHGR200.VBX
Graph Graph gpho Other gphoGraph XYGRAPH.VBX
Grid Q_Grid grdp Pioneer grdpGrid QEVBDBF.VBX
Scroll Bar Horizontal hsbm MicroHelp hsbmScroll MHEN200.VBX
Scroll Bar
Scroll Bar DB_HScroll hsbp Pioneer hsbpScroll QEVBDBF.VBX
Graph Histo hstm MicroHelp hstmHistograph MHGR200.VBX
Invisible Invisible invm MicroHelp invmInvisible MHGR200.VBX
List Box Icon Tag itgm MicroHelp itgmListBox MHAD200.VBX
Key State Key State kstm MicroHelp kstmKeyState MHTI200.VBX
Label Label (3d) lblm MicroHelp lblmLabel MHEN200.VBX
Line Line linm MicroHelp linmLine MHGR200.VBX
List Box DB_List lstp Pioneer lstpListBox QEVBDBF.VBX
List Box SSList lsts Sheridan lstsListBox SS3D2.VBX
MDI Child MDI Control mdcm MicroHelp mdcmMDIChild ???
Menu SSMenu mnus Sheridan mnusMenu SS3D3.VBX
Marque Marque mrqm MicroHelp mrqmMarque MHTI200.VB
Picture OddPic odpm MicroHelp odpmPicture MHGR200.VBX
Picture Picture picm MicroHelp picmPicture MHGR200.VBX
Picture DB_Picture picp Pioneer picpPicture QEVBDBF.VBX
Property Vwr Property pvrm MicroHelp pvrmPropertyViewer MHPR200.VBX
Viewer
Option (Group) DB_RadioGroup radp Pioneer radqRadioGroup QEVBDBF.VBX
Slider Slider sldm MicroHelp sldmSlider MHGR200.VBX
Button (Spin) Spinner spnm MicroHelp spnmSpinner MHEN200.VBX
Spreadsheet Spreadsheet sprm MicroHelp sprmSpreadsheet MHAD200.VBX
Picture Stretcher strm MicroHelp strmStretcher MHAD200.VBX
Screen Saver Screen Saver svrm MicroHelp svrmSaver MHTI200.VBX
Switcher Switcher swtm MicroHelp swtmSwitcher ???
List Box Tag tagm MicroHelp tagmListBox MHEN200.VBX
Timer Timer tmrm MicroHelp tmrmTimer MHTI200.VBX
ToolBar ToolBar tolm MicroHelp tolmToolBar MHAD200.VBX
List Box Tree trem MicroHelp tremTree MHEN200.VBX
Input Box Input (Text) txtm MicroHelp inpmText MHEN200.VBX
Input Box DB_Text txtp Pioneer txtpText QEVBDBF.VBX
Scroll Bar Vertical vsbm MicroHelp vsbmScroll MHEN200.VBX
Scroll Bar
Scroll Bar DB_VScroll vsbp Pioneer vsbpScroll QEVBDBF.VBX
PropiedadesId. de artículo: 110264 - Última revisión: jueves, 09 de enero de 2003 - Versión: 1.1 La información de este artículo se refiere a:
Traducción automática IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Haga clic aquí para ver el artículo original (en inglés): 110264
(http://support.microsoft.com/kb/110264/en-us/
)
| Seleccione idioma
|





Volver al principio








