{"text_format":"2","workbook":"xlsx","n_sheets":1,"sheets":["Sheet1"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":0,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Sheet1","index":0,"n_rows":56,"n_cols":4,"rows_kept":56,"cut":false,"hidden":false,"merged":[]}
[null,"No","区分","说明"]
[null,{"$f":"ROW()-1","v":1},"编码规范","①适当使用空行，函数之间需要一个空行，注释上方需要一个空行，一个大的处理可以按逻辑块用空行分隔\n②代码中注释掉的语句删除（短期需要恢复的除外）\n③有关固定路径、文件名等，需要定义到ConfigConst常量类中\n④类内只有对外公开的成员，才需要用public，否则为private\n⑤使用Ctrl+R、Ctrl+G对using引用排序及自动删除无用引用"]
[null,{"$f":"ROW()-1","v":2},"国际化","画面固定文字\n画面弹出的消息框\n代码中的语句判断等：涉及国际化的不能使用硬编码"]
[null,3,"画面布局","①布局美观合理；②字体字号、对齐方式，控件间距画面内统一\n③分组控件统一GroupBox，按钮高度统一25pixel（…除外）\n"]
[null,4,"TAB顺序","要求从左到右，从上到下（涉及分组的，组的顺序同样遵循该规则）"]
[null,5,"输入项","不可为空的，需要有非空Check\n数值控件不可以输入非数值相关字符\n数值控件输入值上下限确认\nIP地址、端口、电子邮箱需要进行非法性检查\nDataGridView单元格内，输入检查"]
[null,6,"画面数据","根据业务逻辑，画面各个控件初始化值正确合理（需要逐个控件确认）"]
[null,7,"正常系","①控件变化确认：TagPage、ComboBox、CheckBox、RadioButton、TextBox、DataPicker、NumericUpDown\n②Button押下处理确认：结果是否正确保存（文件、DB等）\n③需要全分支确认：如图片不同来源、不同颗粒类型、不同规程及系统设置"]
[null,8,"异常系","DB数据不存在\n文件不存在\n途中取消(可取消的)\n\n现阶段不对应：画面动作是否需要Try Catch，哪些地方需要输出日志"]
[null,9,"相关性","画面表示及处理过程，由相关系统配置决定的，\n需要确定当配置设定不同值时，画面处理是否达到预期结果"]
[null,10,"互斥性","某个处理进行中时，是否存需要避免进行其他操作；\n如需要避免其他操作，那么是否进行了相关处理"]
[null,11,"共通","弹消息统一使用MessageDialog.Show"]
[null,12,"效率","连续扫描拍照速度\n拼图速度\n测量算法速度\n统计分析输的\n结果展示速度"]
[null,13,"性能","大数据读取（单次检测颗粒30万个）\n大数据保存（单次检测颗粒30万个）"]
[null,{"$f":"ROW()-1","v":14}]
[null,15]
[null,16]
[null,17]
[null,18]
[null,19]
[null,20]
[null,21]
[null,22]
[null,23]
[null,24]
[null,25]
[null,26]
[null,27]
[null,28]
[null,29]
[null,30]
[null,31]
[null,32]
[null,33]
[null,34]
[null,35]
[null,36]
[null,37]
[null,38]
[null,39]
[null,40]
[null,41]
[null,42]
[null,43]
[null,44]
[null,45]
[null,46]
[null,47]
[null,48]
[null,49]
[null,50]
[null,51]
[null,52]
[null,53]
[null,54]
[null,55]