编码原则:一致的思维(深度的一致)
结构
1 /** 2 * 返回默认的表单 items 。 3 * 4 * @return {Array} 5 */ 6 getDefaultFormItems: function () { 7 var me = this; 8 9 return Ext.Array.map(me.getProperties(), function (property) { 10 var editorConfig = window.CSharpTypeMapper.getFormEditorDefaultConfig(property.dataType); 11 12 editorConfig = Ext.apply({ 13 name: property.name, 14 fieldLabel: property.displayName || property.name 15 }, property.editorConfig || {}, editorConfig); 16 17 if (property.editorConfigFns) { 18 Ext.Array.each(property.editorConfigFns, function (editorConfigFn) { 19 editorConfigFn(me, property, editorConfig); 20 }); 21 } 22 23 return editorConfig; 24 }); 25 },
1 /** 2 * 返回默认的模型的字段数组。 3 * 4 * @return {Array} 5 */ 6 getDefaultModelFields: function () { 7 var me = this; 8 9 return Ext.Array.map(me.getProperties(), function (property) { 10 var fieldConfig = window.CSharpTypeMapper.getModelFieldDefaultConfig(property.dataType); 11 12 fieldConfig = Ext.apply({ 13 name: property.name 14 }, property.fieldConfig || {}, fieldConfig); 15 16 if (property.fieldConfigFns) { 17 Ext.Array.each(property.fieldConfigFns, function (fieldConfigFn) { 18 fieldConfigFn(me, property, fieldConfig); 19 }); 20 } 21 22 return fieldConfig; 23 }); 24 },
优点
- 深度一致的 API。
- 深度一致的 代码结构。
什么叫深度一致?即:不止在一般编码风格层面的一致(静态分析可以分析出来的一致),在语义和思维上的一致。