哪个代码示例被认为更好(在可读性和支持方面)以及为什么?

时间:2016-02-09 10:31:54

标签: refactoring readability code-readability

获取数据的方法使用延迟加载模式,因此可以安全地多次调用它。

第一个例子:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            //Create temporary array list
            ArrayList<String> tempArray = new ArrayList<>();
           //Go trough all spinners and add selected items to temp array list
            for(int i =1001; i<categorySpinnerId-1; i++){
                tempArray.add(((Spinner)findViewById(i)).getSelectedItem().toString());
            }
            //Remove from original array list items of temp array list
            categoryArrayList.removeAll(tempArray);
            categorySpinnerAdapter.notifyDataSetChanged();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

第二个例子:

variable = large::method::to::get::data()
// some other code
variable.doStuff()
// some other code
variable.doMoreStuff()

1 个答案:

答案 0 :(得分:-1)

首先看,第一种方法比第二种方法更容易阅读和维护。 如果你有如此长行的庞大代码,人们会发现更难以理解,但支持它比干净简单的选择。