9 R) W" N- Z( u$ ^7 v 20)如果数据是多个模块共有的,应该提供一个封装的类来管理它,并提供一个合适的接口给各个模块。这样,如果数据内容有重大修改,则只要接口不变,基本上可以保证程序不要很复杂的修改。 4 N# C; r f8 v
- I( m3 V1 {, Y( G6 v7 u* X* a1 i
21)应该尽量考虑到数据的并发控制。 * U, F6 o& r; v& \: l# c; L( p. Z/ h/ G& f) C
22)数据的并发控制应该封装在接口内,而不要暴露给其他模块,这样可以减少因为并发原因导致的程序死锁。 / i4 T+ h" o+ e( f% i, P% Y2 \3 d6 H o; E& {9 D6 L& C
23)数据本身结构不可以太复杂。应该尽量把不相关的数据分割成为两组数据。 # h" ^+ n. Y/ C
1 J& I+ Q, p# l. T( A# y6 L2 G) t
24)对于数据量比较大的情况,应该考虑数据库。 8 y# E' k1 t# M& W( A4 f
2 `7 a$ X! H. v+ h, _- Z* S
25)数据库接口应该采用标准ODBC或者ADO接口,尽量不要根据实际数据库DBMS提供的接口来处理,因为你可能在实际使用中更换DBMS。 7 S3 A+ \( r; h9 _, @ " J1 F+ p- \2 k- X) s& k 26)小的数据可以考虑文件,文件路径应该必须设计成相对路径。 / \% n2 B* }' S0 R7 M+ i
' t; u, ~* @( K( c* Q& A7 w: K 27)在一个函数中,应该尽量打开文件后使用完后立刻关闭,这样其他程序可能使用文件。 U. e3 L9 b) ] ^! R0 \
2 ^! G) ^- S) x* f: B8 R
28)不要尝试把文件全部读到内存中,应该分次处理大文件。 ( ?8 {* I9 s+ {4 O* o, ?- K 0 Y; m& b7 o E/ |( S 29)编写程序应该提供相关的测试程序,以提供测试手段。 * j! j# w$ J9 w E% P
2 f6 F! o B* ^4 X
30)应该考虑代码、函数的使用情况,不要超越函数可以使用的范围使用之。