markdown Mi estandar nombredesímbolosyjavascript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Mi estandar nombredesímbolosyjavascript相关的知识,希望对你有一定的参考价值。

# Los símbolos

## Variables simples
las variables se nombran usando Lower camel case variable {sHeroRoutes}

tipo de dato | prefijo a usar
-- | --
boolean | b
date | d
numeric| n
string  | s
time | t
| 
object | o
arrays para estructuras o configuración | ac 
arrays con datos| ad

# Graphql
## Los nombres de la cadenas de conexión
tiene que seguir la sgte forma
~~~
[Tipo]_[Entidad]_[verbo][nrocampos]_['by'Orden-]_['for'Parametro]
~~~
donde:  
[Tipo]: indica la naturaleza de la operación asociada a la cadena  
puede ser:
- gm : graphql + mutation 
- gq : graphql + query  
- ge : graphql + enum  
- gs :graphql + stored procedure/ stored function    

[Entidad]: (en lower Camel Case)es el nombre de la tablaprotagonsta de la consulta en la base de datos  
o el nombre completo del procdimiento o funcion almacenada

[verbo]:(en lower Camel Case) es la operación que realiza  
- get
- getAll
- add
- del
- act  

[nrocampos]: puesto q con graphql puedes crear una misma consulta con distintos campos, 
para poder diferenciar estas consultas, se agrega el número de campos que regresan


[Orden] :  (en Lower Camel Case)corresponde a la parte  ORDERBY del sql  
[Parámetro] : (en Lower Camel Case) corresponde a la parte  WHERE del sql  
 ejemplos:
~~~ js
gq_user_get
gq_user_getall_byApeNom
gm_user_get_forLoginClave
gm_instructor_del_forId
gq_alumno_get_forId
gq_matCursoLibre_get12_forId
gq_matCursoLibre_get15_forId
gs_getnewKeyfor 
~~~

# Html
## los nombres de los objetos html cuando necesitan tener un nombre referenciable  

Todos los nombres son lowercase

control | otro nombre prefijo | prefijo
-- | --| --
button | boton| btn_
form | formulario| form_
label| etiqueta| lbl_
input type="checkbox">| [checkbox](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.checkbox.html#input.checkbox) | chk_ 
input type="color" name="color">| [color](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.color.html#input.color) | num_
input type="datetime-local" |fecha y hora| txt_
input type="hidden">| [Campo oculto](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.hidden.html#input.hidden) | hdn_ 
input type="email">| [Dirección de correo email](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.email.html#input.email) | txt_ 
input type="number">| numero| num_
input type="password">| [Clave o contraseña](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.password.html#input.password)| txt_ 
input type="range" | un control deslizante que permita elegir entre una gama de valores| num_
input type="search">| [caja para búsquedas](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.search.html#input.search) | txt_ 
input type="submit" | [boton](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.button.html#input.button)| btn_
input type="tel">| [Número de teléfono o móvil](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.tel.html#input.tel)| txt_ 
input type="text">| [caja de texto](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.text.html#input.text) | txt_
input type="url">| [Dirección URL](https://www.w3.org/TR/2012/WD-html-markup-20120315/input.url.html#input.url)| txt_ 
textarea>| Texto alfanumérico libre (texto extenso)| edt_ 
fieldset |grupo de controles | fset_
file select (input)| selección de archivo | file_
hidden control| control oculto|     hid_
image| imagen|	img_
radio button| grupo de radios (optionbutn) | grad_
select | uno de una lista (combobox:select) | sel_
seleccion multiple | mas de uno x lista (listbox:select multiple) | list_
table|tabla| tbl_


[configuración de controles htm](https://developer.mozilla.org/es/docs/HTML/HTML5/HTML5_lista_elementos) 

control | otro nombre prefijo | prefijo
-- |-- | --
p-accordion | a collection of contents in tabs. | acco_
p-autoComplete |  input component that provides real-time suggestions when being typed. | auto_
p-button|an extension to standard input element | btn_
p-calendar|component to select a date.|caln_
p-colorPicker|an input component to select a color.| color_
p-chips|used to enter multiple values on an inputfield.| chp_
p-checkbox|an extension to standard checkbox element |chk_
p-triStateCheckbox| is used to select either "true", "false" or "null" as the value.| chk_
p-inputSwitch |used to select a boolean value.|chk_
p-toggleButton |  used to select a boolean value | chk_ 
p-dialog |  a container to display content in an overlay window.| diag_
p-dropdown|used to select an item from a collection of options| drop_
p-editor| rich text editor component| edoc_
p-fieldset | a grouping component with a content toggle feature. | fset_
p-fileUpload |  an advanced uploader| fload_ 
p-listbox | select one or more values from a list of items.| lst_
p-multiSelect|used to select multiple items from a collection.|msel_
p-radioButton |an extension to standard radio button element| rbt_ 
p-slider| a component to provide input using dragging of a handle.| sld_  
p-selectButton|is used to choose single or multiple items from a list using buttons.|selc_
p-inputMask | component is used to enter input in a certain format | txt_ 
pInputTextarea>|add styling and autoResize functionality to standard textarea| edt_ 
p-rating | components is a star based selection input.| spn_  
p-spinner | an input component to provide a numerical input. | spn_ 
p-splitButton | set of commands | btn_ 
p-dataView |displays data in grid or list layout | dlist_  
p-dataScroller |  displays data with on demand loading using scroll | dlist_ 
p-orderList |  used to sort a collection. | dlist_  
p-panel | a grouping component providing with content toggle feature. | pan_  
p-pickList |used to reorder items between differents lists. | plist_
p-schedule|Schedule is an event calendar based on FullCalendar.| agend_  
p-scrollPanel | alternative to native browser scrollbar. | scll_
p-table| Table is the successor of p-dataTable| tbl_
p-tabView | a container component to group content with tabs.| tabs_
p-toolbar |  a grouping component for buttons and other content. | tbar_
todos los menus | en todas modalidades | menu_

si no importa el nombre| basta con usar el prefijo mas un anom+secuencial| [prefijo]+"anom"+[secuencial] 


## Variables que hacen referencia al formulario de la interface respectiva
se nombran igual que los contorles html, sólo que los prefijos de ese estandar se usan como sufijos  
y al subguión antecede a la parte descriptiva.
pero el sufijo no es necesario, si el nombre del simbolo ya tiene una referencia al tipo de control o de objeto  



## Variables/funciones privadas y variables temporales
las variables/funciones se nombran usando Lower camel case   
las variables/funciones privadas empiezan con subguión {_}  
y las variables privadas de vida muy breve   
-sólo útiles en la pequeña función actual- empiezan con subguión doble {__}


## Constantes
Los nombres de las constantes usan UPPER_SNAKE_CASE  
pero se da preferencia que sea en Lower camel case variable (heroRoutes) especialmente cuando son constantes que
están dentro de una pequeña porcion de código, como un bucle FOR o parecidos, en cuyo caso bien puede empezar 
ademas con un subguión doble.(mirese la regla del nombre de variables privadas o de vida brevísima)


## Los nombres de los archivos y folders deben mostrar muy claramente su intención/ contenido  
## Los nombres de las clases deben estar en UpperCamelCase y sus archivos en minúsculas 

la clase | el archivo
-- | --
.. class Appcomponent|  app.component.ts
.. class HeroListComponent|  hero-list.component.ts
.. class ValidationDirective|  validation.directive.ts
.. class AppModule|  app.module.ts
.. class UserProfileService| user-profile.service.ts

NOTA: los servicios que calramente muestran su cometido/ inteción, no requieren la palbra 'Service' en su nombre  
x ejemplo: logger  -> archivo: looger.service.ts

## Orden de los import
1- primero los de angular  
2- de terceros  
3 los propios  
 todos en orden alfabético  
 
## LIFT  
__L__ocate code quickly  
__I__dentify the code at a glance  
keep __F__lattest strcuture you can  
__T__ry to be DRY  

## Comentarios en javascript
### Comentarios en las funciones
1era forma
~~~
/**
 * El comentario comienza con una barra y dos asteriscos.
 * Cada nueva línea lleva un asterisco al comienzo.
 * @param {string} nombre: indica que una función recibe un parámetro de tipo string y que
 * el nombre del parámetro es nombre.
 * @descriptor Cada descriptor que añadamos irá en una línea independiente. 
 ************/
~~~

2da forma
~~~
/**
 * Verifies if the string is in a valid email format
 * @param  {string}
 * @return  {boolean}
 */
~~~ 
### Comentarios en la cabecera del archivo
~~~
/**
 * @fileoverview Menú aprMenu, desplegable con efecto expansión suavizado
 *
 * @version                               2.2
 *
 * @author                 César Krall <cesarkrall@aprenderaprogramar.com>
 * @copyright           aprenderaprogramar.com
 *
 * History
 * v2.2 – Se mejoró el efecto de expansión de los submenús dándole efecto aceleración
 * v2.0 – Se evitó que quedaran supersupuestos textos de submenús
 * v1.1 – Se mejoró la compatibilidad con navegadores Opera
 * ----
 * La primera versión de aprMenu fue escrita por Karl Monitrix
 ************/
~~~

ref: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=881:guia-de-estilo-javascript-comentarios-proyectos-jsdoc-param-return-extends-ejemplos-cu01192e&catid=78&Itemid=206
revisar como referencias:  
[Google JavaScript Style Guide](https://google.github.io/styleguide/jsguide.html)  
[Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript#table-of-contents)

以上是关于markdown Mi estandar nombredesímbolosyjavascript的主要内容,如果未能解决你的问题,请参考以下文章

css 不错的菜单 - 子菜单estandar con flecha superior en los submenus

Microsoft REST API指南

POST 请求生成失败

SAP MM 事务代码MI31之思考

音乐中的do、re、mi、fa、sol是哪些音?

text Primer Paso:Informando para GitHub mi nombre y luego mi email