当前位置:  开发笔记 > 编程语言 > 正文

每个命名空间分支的理想数量的类

如何解决《每个命名空间分支的理想数量的类》经验,为你挑选了2个好方法。

您认为每个命名空间"分支"的理想数量是多少?人们会决定将一个名称空间分成多个名称空间?我们不讨论类的逻辑分组(假设它们在逻辑上被正确分组),在这一点上,我将重点放在可维护类和不可维护类的数量上.



1> Constantin..:

"42?不,它不起作用......"

好吧,让我们的编程能力发挥作用,看看微软的意见是什么:

# IronPython
import System
exported_types = [
  (t.Namespace, t.Name)
  for t in System.Int32().GetType().Assembly.GetExportedTypes()]

import itertools
get_ns = lambda (ns, typename): ns
sorted_exported_types = sorted(exported_types, key=get_ns)
counts_per_ns = dict(
  (ns, len(list(typenames)))
  for ns, typenames
  in itertools.groupby(sorted_exported_types, get_ns))
counts = sorted(counts_per_ns.values())

print 'Min:', counts[0]
print 'Max:', counts[-1]
print 'Avg:', sum(counts) / len(counts)
print 'Med:',
if len(counts) % 2:
  print counts[len(counts) / 2]
else: # ignoring len == 1 case
  print (counts[len(counts) / 2 - 1] + counts[len(counts) / 2]) / 2

这为我们提供了每个命名空间的类型数量的以下统计信息:

C:\tools\nspop>ipy nspop.py
Min: 1
Max: 173
Avg: 27
Med: 15



2> cynicalman..:

使用现代IDE和其他开发工具,我会说如果所有类都属于命名空间,那么为了可维护性,没有任意数字可以分解命名空间.


.Net框架作为一个整体,只有5k类型的东西?这就是在一百个左右的名称空间中分解的
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有