0

我的疑问是如何在 Android 应用程序中实现一个干净且易于维护的代码?,我正在尝试应用Uncle bob - clean code规则,但随着我继续开发,有时必须打破一些规则,我以 Activity 结束700 行(我没有使用 Fragment,700 行似乎是一个“做太多事情”的类)所以我想知道是否有人尝试过正确使用 Fragment 的 Android 应用程序并可以回答这些问题:

1- does it really impact on Activity lines length (at least less than 300-500 [not strictly this numbers but a "reasonable" Class length] lines)?

2- does code keep clean and easy over the time?, not necessary with Uncle bob rules but considering best practice in OO while coding.

3- does it have a considerable impact in terms of "Performance"?

4- does Fragment help to support in a more simple way a wide fan of Screens?"

5- ignoring developer skills, what "should" be the way to go non-Fragment activities or activities with rich Fragment use?

注意:这不是复制到Android - Activity 与 FragmentActivity 的尝试?因为这里的主题不是关于选项卡格式,而是关于 android 开发的最佳实践。

对不起我的英语不好 ;)。

4

2 回答 2

1

您将片段的使用与FragmentActivity.

FragmentActivityActivity设计用于Android 支持包中片段的反向移植的子类。您通常仅FragmentActivity在使用反向端口时使用。如果您正在使用片段,但您android:minSdkVersion的设置为 11 或更高,您通常可以跳过FragmentActivity.

考虑到这一点:

它真的对活动行长度有影响吗(至少少于 300 行)?

这是不可能的。这相当于询问 a Restaurantthat subclassesBusiness会比 a Restaurantthat subclasses长还是短FoodSupplier。这完全取决于您的代码。

话虽如此,使用片段肯定有可能减少活动中的代码行数。恕我直言,这不是使用片段的好理由。

代码是否随着时间的推移保持干净和简单?这对于鲍勃叔叔规则不是必需的,但在编码时考虑 OO 中的最佳实践。

这是不可能的。这相当于询问 a Restaurantthat subclasses与 a that subclassesBusiness相比是否“干净且容易” 。这完全取决于您的代码。RestaurantFoodSupplier

它在“性能”方面是否有相当大的影响?

通常不会。

Fragment 是否有助于以更简单的方式支持 Screens 的广大粉丝?”

如果通过“屏幕的广泛粉丝”,您的意思是“各种屏幕尺寸”,那么是的,片段可以帮助解决这个问题。事实上,这是使用片段的#1 原因,恕我直言。然而,片段本身并不能神奇地帮助屏幕大小,就像方法名称中的大写字母神奇地帮助屏幕大小一样。

忽略开发人员技能,FragmentActivity 或 Activity 的“应该”是什么?

如前所述,通常仅FragmentActivity在使用片段的反向移植时才使用。如果您正在使用片段,但您android:minSdkVersion的设置为 11 或更高,您通常可以跳过FragmentActivity.

如果您的问题真的是“我应该在我的应用程序中使用片段吗?”,答案是“可能,但这取决于应用程序”。

于 2013-07-22T16:26:31.307 回答
0

是的,碎片是要走的路。它们有助于以合乎逻辑的方式传播您的代码,因此您没有 700 行活动,它们使您的代码保持简单,因为每个片段通常都有自己的类,而且它们确实可以回答您的第 4 个问题,使其易于拥有“屏幕的广泛粉丝”。

我推荐这个视频来帮助你入门。对于任何初学者来说,这个视频是如何使用片段的一个很好的解释(我知道,因为在我观看这个视频之前我很难弄清楚如何使用它们)。它被 Andrew Ruffolo 称为“Programming Android with Fragments”:

http://www.youtube.com/watch?v=KyXvq_kwfzg

该视频展示了片段的力量。您仍然需要某种主要活动,但该主要活动有点像片段的容器,并且您的应用程序的大部分功能都由片段及其相应的类处理。

我从来没有使用过活动,因为我是在将 Fragment 添加到 android 后开始应用程序开发的,但似乎 Fragment 有助于分解你的应用程序,就像方法和内部类有助于分解你的类一样,以及类有助于分解你的类关闭一个项目或程序。我不确定这是否可能或者在添加片段之前仅使用活动是否简单。

于 2013-07-22T16:27:23.253 回答