根据文件:https://github.com/androidx/androidx/blob/androidx-main/compose/docs/compose-api-guidelines.md#naming-unit-composable-functions-as-entities
Jetpack Compose框架开发和库开发必须使用PascalCase命名任何返回Unit并带有@Composable注解的函数,并且名称必须是名词,而不是动词或动词短语,也不是名词介词,形容词或副词。名词可以用形容词作前缀。无论函数是否发出UI元素,这条准则都适用。
App开发应该遵循同样的规则。
为什么
返回Unit的可组合函数被认为是声明性实体,在组合中可以存在或不存在,因此遵循类的命名规则。可组合对象的存在或不存在由其调用者的控制流的评估产生,其建立跨重组的持久标识和该持久标识的生命周期。这种命名约定促进并加强了这种声明性的心理模型。
请解释一下为什么部分。
1条答案
按热度按时间esbemjvw1#
原因是它们实际上非常像构造函数,Kotlin的标准是将函数的第一个字母大写,即使它们不是构造函数。
也就是说,当你说
字符串
你暗示你正在创建一个按钮和一些文本进入按钮。
应该使用名词而不是动词的原因是,名称应该清楚地表明调用可组合函数的结果是创建了什么。它描述的是一个事物,而不是一个动作,所以这个名字应该是一个名词。
名词的使用加强了框架的声明性,因为您声明的是应该通过组合创建(或更新)的UI,而不是创建它的方法。函数的名称应该是它声明要创建的对象的名称,因此应该是名词。