阅读一些复杂应用程序的代码我认为通过查看其签名来识别方法是否有副作用通常会有所帮助。在检查了一些这样的方法后,我认为将它们标记为纯粹的功能可能会很好,以便让将来阅读此代码的人们的生活更轻松。
Java世界中是否有一些约定(javadoc,方法命名模式等)将方法识别为纯函数?
答案 0 :(得分: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)
程序/安全方式,将使用多态,实现“只读”和“读/写”接口。相关:How to create two interfaces to a Java class one read-only, one read-write?
IMO,如果你不想搞乱接口,那么JavaBeans约定和/或javadoc应该足以猜出哪些函数有副作用。