Java:重复、过度使用——问题?

标签 java coding-style repeat overuse

我尽量做到极简主义。重复是个问题。我恨它。什么时候才是真正的问题?

  1. 什么是静态过度使用?
  2. 什么是现场方法过度使用?
  3. 什么是类过度使用?
  4. 是否有更多类型的过度使用?

问题A:什么时候用static太多了?

    private static class Data
    {
            private static String fileContent;
            private static SizeSequence lineMap;
            private static File fileThing;
            private static char type;
            private static boolean binary;
            private static String name;
            private static String path;
    }

    private static class Print
    {
            //<1st LINE, LEFT_SIDE, 2nd LINE, RIGHT_SIDE>
            private Integer[] printPositions=new Integer[4];                

            private static String fingerPrint;
            private static String formatPrint;

    }

问题B:什么时候用私有(private)方法获取字段数据太多了?

    public Stack<Integer> getPositions(){return positions;}
    public Integer[] getPrintPositions(){return printPositions;}


    private Stack<String> getPrintViews(){return printViews;}
    private Stack<String> getPrintViewsPerFile(){return printViewsPerFile;}
    public String getPrintView(){return printView;}

    public String getFingerPrint(){return fingerPrint;}
    public String getFormatPrint(){return formatPrint;}


    public String getFileContent(){return fileContent;}
    public SizeSequence getLineMap(){return lineMap;}
    public File getFile(){return fileThing;}
    public boolean getBinary(){return binary;}
    public char getType(){return type;}
    public String getPath(){return path;}

    public FileObject getData(){return fObj;}
    public String getSearchTerm(){return searchTerm;}

相关

最佳答案

are there more types of overuse?

是的......过度使用教条主义。

您需要平衡地理解何时适合使用这些结构(静态、字段、方法、类、接口(interface)等),以及何时不适合。简单地试图避免使用某些构造显然是错误的。

比如,但是静态字段有一个问题,就是整个JVM中只能有一个字段的实例。这意味着使用静态的代码往往是不可重入的,这使得它在很多情况下无法使用;例如当有多个线程或涉及递归时。但是,在某些情况下您需要整个 JVM 中只有一个实例,在这些情况下静态是完全可以接受的。

(以上是对静力学问题的过度简化。我试图说明你应该如何考虑这些事情。了解利弊,并根据每个案例的是非曲直来判断基于你在某处听到/读到的一些教条。)

关于Java:重复、过度使用——问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2749296/

相关文章:

javascript - 如何切换动画元素位置

java - 如何划分大的 Http 响应

java - 具有聚合/组合的 Spring Framework JDBC DAO

java - 如何反序列化 JSON HashMap<String, Object>?

html - 为什么 "lower-case with dashes"是 HTML 类的标准?

java - JVM按函数管理类代码吗?拆分大型决策函数对内存使用有效吗?

java - 常量属性应该放在哪里?

android - FAB 没有动画 - 附上测试代码和截图

java - 查找 H2 数据库表中的行何时被修改

java - HashMap 中不必要地重复的值