命名一直是程序员最头疼的事情之一。一个好的命名可以让一段代码看起来更具可读性,后续的维护人员也会更加轻松。因此,在团队中统一使用同一套命名规范是非常有必要的。今天源妹要给大家分享一份命名指南,致力于帮助程序员如何命名。本项目介绍了命名时需要考虑的几个要点。旨在帮助您解决命名困难的问题,教您如何方便、轻松地进行命名,本项目名为——naming-cheatsheet。naming-cheatsheet在Github上已经被标记了7.9K星,共有386个分支(Github地址:https://github.com/kettanaito/naming-cheatsheet)。这些命名规则适用于任何编程语言。创作者以JavaScript为例进行演示,一起来看看:英文命名变量和函数名命名时使用英文名称:/*Bad*/constprimerNombre='Gustavo'constamigos=['Kate','John']/*Good*/constfirstName='Gustavo'constfriends=['Kate','John']不管你喜不喜欢,英语是编程中的主导语言,所有编程语言的语法都是用英语编写的,无数的文档和教程资料也是英文的,用英文写代码可以大大增加代码的凝聚力。命名约定选择一个命名约定并遵循它以在整个团队中保持命名一致,它可以是camelCase、PascalCase、snake_case或其他任何形式。许多编程语言在命名约定方面都有自己的传统,您可以查看自己的编程语言文档或研究Github上的一些流行存储库。/*Bad*/constpage_count=5constshouldUpdate=true/*Good*/constpageCount=5constshouldUpdate=true/*Goodaswell*/constpage_count=5constshould_update=trueS-I-D命名原则名称必须简短、直观且具有描述性:Short:Enteranamemustnot花的时间太长,所以一定要简短直观:名字一定要通俗易懂,尽可能贴近日常用语描述性的:名字必须最有效的体现它的作用/*Bad*/consta=5//"a"couldmeananythingconstisPaginatable=a>10//"Paginatable"soundsextremelyunnaturalconstshouldPaginatize=a>10//Madeupverbsaresomeuchfun!/*Good*/constpostCount=5consthasPagination=postCount>10constshouldPaginate=postCount>10/缩写只能避免它们/或者降低代码可读性,找到一个简短易读的名称可能很困难,但即便如此也不要使用缩写。/*Bad*/constonItmClk=()=>{}/*Good*/constonItemClick=()=>{}避免重复命名上下文classMenuItem的名称{/*Methodnameduplicatethecontext(whichis"MenuItem")*/handleMenuItemClick=(event)=>{...}/*Readsnicelyas`MenuItem.handleClick()`*/handleClick=(event)=>{...}}reflectstheexpectedresult变量或函数的命名应该反映预期结果result./*Bad*/constisEnabled=itemCount>3return
