将方法标记为Java中的纯函数的约定

ipb*_*pbd 6 java functional-programming javadoc

阅读一些复杂应用程序的代码我认为通过查看其签名来识别方法是否有副作用通常会有所帮助.在检查了一些这样的方法之后,我认为将它们标记为纯粹的功能可能会很好,以便让将来阅读此代码的人们的生活更轻松.

Java世界中有一些约定(javadoc,方法命名模式等),它将方法识别为纯函数吗?

And*_*rés 1

您有 JavaBeans 约定。请参阅http://docstore.mik.ua/orelly/java-ent/jnut/ch06_02.htm

。JavaBeans 框架通过建立命名约定来促进这一过程。例如,此类约定之一是属性的 getter 和 setter 访问器方法应以 get 和 set 开头。

但是,您始终可以使用 javadoc 或注释您的方法,例如。

/** 
 * This method is read only!
 */
@ReadOnly
public void setX(Object x)
Run Code Online (Sandbox Code Playgroud)

编程/安全的方式是使用多态性,实现“只读”和“读/写”接口。相关:如何为 Java 类创建两个接口,一个只读,一个读写?

IMO,如果您不想弄乱接口,JavaBeans 约定和/或 javadoc 应该足以猜测哪些函数有副作用或没有副作用。