首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是否应该总是喜欢更一般的类型到特定类型?

这个问题涉及到了一般类型和特定类型的选择,以及它们之间的权衡。在做决策时,我们需要考虑以下几个方面:

  1. 一般类型和特定类型的定义:一般类型是指适用于多种场景的类型,而特定类型是指针对特定场景或需求的类型。一般类型通常具有更广泛的适用性和更低的成本,而特定类型则可以提供更高的性能和更精细的控制。
  2. 需求和场景:需要考虑你的需求和场景是否适合使用一般类型或特定类型。如果你的需求和场景比较简单,那么一般类型可能就足够了;如果你的需求和场景比较复杂,那么特定类型可能更适合。
  3. 成本和性能:一般类型通常具有更低的成本,但性能可能不如特定类型;特定类型则可能具有更高的性能,但成本也更高。因此,在选择时需要权衡成本和性能的需求。
  4. 灵活性和控制性:一般类型通常具有更高的灵活性,可以更容易地适应不同的需求和场景;特定类型则可以提供更高的控制性,可以更精细地控制系统的行为。因此,在选择时需要考虑你是否需要更高的灵活性或更高的控制性。

综上所述,是否应该总是喜欢更一般的类型到特定类型,取决于你的需求和场景、成本和性能的需求以及灵活性和控制性的需求。在做决策时,需要根据具体情况进行权衡和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2018年伊始,系统编程语言Rust为何令程序员感到兴奋?

在开始使用Rust时候,能够做到这样权衡(在牺牲一点性能情况下使程序容易编写)是非常好。最喜欢这个特别权衡地方是它是明确。...可以在程序里用.clone()搜索每个地方 ,并对它们进行审计—这个函数是否被调用了很多次?应该担心吗?刚刚查过程序中使用clone()每一个地方,在程序开始时候,只调用一次或两次。...喜欢这些库存在,它们文档齐全,使用方便! 另一个喜欢Rust Crate(一般是Rust)地方是它们通常不会在它们所曝光概念基础上增加不必要抽象。...直到再次开始使用它,才意识Rust可用性有了如此多改进!所以,如果没有意识想大多数其他人都没有:) Rust有难以学习臭名。当然,这总是会有点难!...,但IMO“有10种特定的人群适合用Rust”比一般包容性声明显更有用。 这里有几条关于如何回答“谁适合用Rust?”这个问题建议:(这些并不意味着是排他性,但它们目的是非常具体

4.5K100

要成为优秀机器人工程师,该如何选择课程?

人们在生活中做出“坏”决定主要原因是在做出决定之前,他们没有花时间真正考虑自己选择。他们只是很快做出一个选择要“得到它”,但很快就后悔了,因为在内心深处,他们意识自己应该更深入地思考。...在做出决定之前,你应该多去图书馆或书店,制定特定计划,或许这会让你知道该如何做出选择。 问题 2: 什么类型学位课程适合本科?硕士?专科?第二个你需要回到问题就是:什么类型课程适合?...这个问题是Eric提出来,他想知道,一个专科学位是否能找到一份机器人工作。基本回答是:Yes,这确实能找到一份机器人相关工作。但是,你选择什么类型学位将会影响你胜任什么类型工作。...有了这方面的知识,你就可以在开放日过程中向课程导师提出更好问题了。例如,你看起来很喜欢某个课程,但在这个特定课题下是否有足够模块,你可以问他们“在学位课程期间,如何才能获得更多课题?”...这个问题答案,我们几乎总是说:No. 无论你选择任何学位课程,一个学位是否“足以找到工作”想法,很不幸,不再适用于任何领域。在过去,它可能已经足够,但现在已经不行了。

62050

加入DAO一些注意事项

如果在特定 DAO中没有适合你位置,也要保持乐观态度!因为还有很多其他选择。以后你也许可以加入你喜欢DAO。 新兴项目 这可能是最好起点。当一个核心团队启动一个项目时,一般会有很多事情要做。...,并不总是发生,但一定要警惕。...已建项目没有使用这种 DAO,因为它主要用于试图接触一些潜在用户新项目。已建立项目通常使用内部贡献者,并且在需要特定类型内容时更愿意奖励自己社区。...如何选择 DAO 应该是透明,你应该利用它。在加入 DAO 之前,最好先了解一下 DAO 是如何运作,涉及什么样成员,他们是如何协同工作,它是如何组织……回答这些问题相对简单。...想如果你还在阅读这篇文章,那是因为你正在寻找成熟东西,并且想要真正参与 DAO 中。 综上所述,首先我会建议找到一个你喜欢并且你相信项目!

26610

Java 8 开发 4 大技巧

Optional应该只用于返回类型 ……不是参数,也不是字段。幸运是,IntelliJ IDEA让你打开检查来查看是是否遵循这些建议。 ? Optional值应在遇到它们地方中处理。...不应该简单调用get() Optional功能是表达这个值可能是空,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...明确 类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。 ? 正如你所见,这回变得相当笨拙。所以我喜欢给参数取一个有用名字。...4.Stream Stream API是Java 8另一个大特点,并且认为我们还真的不知道这对我们编码方式会产生多大改变。下面是发现一些有用东西 排队点操作符 个人喜欢排队流操作。...所做性能测试表明这种重构令人惊讶——并不总是可预测性能是保持不变,改善还是变得更糟。与往常一样,如果性能在应用程序中是关键,那么在交付一种风格另一种之前衡量它。

59010

Java 8 开发顶级技巧

Optional应该只用于返回类型 ……不是参数,也不是字段。幸运是,IntelliJ IDEA让你打开检查来查看是是否遵循这些建议。 ? Optional值应在遇到它们地方中处理。...不应该简单调用get() Optional功能是表达这个值可能是空,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...明确 类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。 ? 正如你所见,这回变得相当笨拙。所以我喜欢给参数取一个有用名字。...排队点操作符 个人喜欢排队流操作。...所做性能测试表明这种重构令人惊讶——并不总是可预测性能是保持不变,改善还是变得更糟。与往常一样,如果性能在应用程序中是关键,那么在交付一种风格另一种之前衡量它。

54210

Java 8 开发 4 大顶级技巧

Optional应该只用于返回类型 ……不是参数,也不是字段。幸运是,IntelliJ IDEA让你打开检查来查看是是否遵循这些建议。 ?...java 8 不应该简单调用get() Optional功能是表达这个值可能是空,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...java 8 明确 类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。 ? java 8 正如你所见,这回变得相当笨拙。所以我喜欢给参数取一个有用名字。...Stream Stream API是Java 8另一个大特点,并且认为我们还真的不知道这对我们编码方式会产生多大改变。下面是发现一些有用东西 排队点操作符 个人喜欢排队流操作。...java 8 所做性能测试表明这种重构令人惊讶——并不总是可预测性能是保持不变,改善还是变得更糟。与往常一样,如果性能在应用程序中是关键,那么在交付一种风格另一种之前衡量它。

56920

Java 命名规范(非常全)

Optional应该只用于返回类型 ……不是参数,也不是字段。幸运是,IntelliJ IDEA让你打开检查来查看是是否遵循这些建议。 Optional值应在遇到它们地方中处理。...不应该简单调用get() Optional功能是表达这个值可能是空,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...明确 类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。 正如你所见,这回变得相当笨拙。所以我喜欢给参数取一个有用名字。...甚至是lambda所代表函数式接口: 3.针对Lambda表达式设计 认为lambda表达式有点像泛型——和泛型一起,我们经常使用它们(例如,添加类型信息List),但最好我们可以设计一种方法或一个具有泛型类型...4.Stream Stream API是Java 8另一个大特点,并且认为我们还真的不知道这对我们编码方式会产生多大改变。下面是发现一些有用东西 排队点操作符 个人喜欢排队流操作。

1.1K30

Java 8 开发 4 大顶级技巧

Optional应该只用于返回类型 ……不是参数,也不是字段。幸运是,IntelliJ IDEA让你打开检查来查看是是否遵循这些建议。 ? Optional值应在遇到它们地方中处理。...不应该简单调用get() Optional功能是表达这个值可能是空,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...明确 类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。 ? 正如你所见,这回变得相当笨拙。所以我喜欢给参数取一个有用名字。...4.Stream Stream API是Java 8另一个大特点,并且认为我们还真的不知道这对我们编码方式会产生多大改变。下面是发现一些有用东西 排队点操作符 个人喜欢排队流操作。...所做性能测试表明这种重构令人惊讶——并不总是可预测性能是保持不变,改善还是变得更糟。与往常一样,如果性能在应用程序中是关键,那么在交付一种风格另一种之前衡量它。

49720

编程之魂之C# – 与C#之父Anders访谈

有时尝试从不同;角度来处理问题是很有益。 你会喜欢添加一种语言特性让每个人都提高一 点效率,还是喜欢让少数开发者变得更加高效呢?...这不像有人曾经问过我们:“我们喜欢把查询嵌入语言里”,因为你并没有真正考虑这些你能考虑概念。 不愿意说我们从某种特定方式获得反馈。这是一一个有机过程,我们可以从很多不同地方得到它们。...你能获得大量开放源代码项目供研究和学习。 一般来说,对成为一名优秀程序员有帮助是了解不同编程风格和不同类型编程语言。...接着,你要从语言中得到一些东西,从而使编程容易而且安全,比如保证对象不变性、你所知道没有副作用纯函数、分析孤立对象图,这样你会知道一幅对象图特定引用是否已经被其他人使用过。...你是否要从它开始,那要视情况而定。无法确定你最开始编程导论是否应该是函数式编程,不过毫不置疑地认为它应该是课程一部分。 *人们应该从你经历中学到什么经验和教训呢?

76320

前端 vs 后端:哪一个适合你?

职业满足感 如果你选择成为一名开发人员是因为你想获得职业满足感,并做一些你喜欢事情,那么建议是,当你开始时,前后端都要做。同时涉猎前端和后端,这样你就能感受到你喜欢是什么。这么做会很辛苦吗?...试一试水,看看当你用它时候,其中一个方向是否真的能吸引到你。同时,你要意识,无论你选择哪个,一开始都会很困难。想说是,在你决定要把重点放在哪里之前,给自己一年或两年时间来研究整个流程。...这将给你足够时间来解决最初“哇,这太糟糕了,因为它很难”问题,同时还能让你真正评估它是否是你喜欢使用技术。 虽然每个人都有不同品味,但是看看其他开发人员喜欢使用哪些语言和技术也是很有趣。...在真正转向后端之前,做了 3 年全栈开发。吸引来到后台是 Ruby 简洁。JavaScript 和前端语言对来说总是缺乏组织性。还热衷于优化代码性能。喜欢想办法让事情运行得更好更快。...后端似乎给了我更多机会。 最后,不是一个非常注重视觉或艺术的人。有些人可以看看网页,然后想办法把它放在什么地方。从来都不擅长这个,所以后端让自然、舒服。

1.4K20

xBIM 基础02 快速入门

(IDisposable),所以总是应该在using语句中使用它们,如下所示: 1 using (var model = IfcStore.Open(fileName, editor, true)) 2...这些也应该在using语句中使用,因此它们具有适当范围,以便在发生某些情况时进行最终回滚操作。您必须明确提交事务以保留更改。事务不能嵌套,因此当时总是只有一个事务。...每个模型都是特定于模式,因此它是IFC2x3或IFC4或其他特定模式。...您将在上面的代码中看到,此函数使用可选类型化对象初始值设定项来设置对象值。没有必要使用它们,但我个人喜欢它,因为可以看到结果实体结构。...没有必要使用它们,但我个人喜欢它,因为可以看到结果实体结构。

78230

以数据为中心和模型为中心AI是贝叶斯论和频率论另一种变体吗?

在这篇文章中,将对这两种方法提供一个新视角。将从统计角度来看它们,看看它是否可以阐明哪种方法更好以及在什么情况下更好。...但这里有一个很大问题:归纳偏差(不管它是否有用)仍然是一种偏差。 当选择一个特定架构时,也限制了从数据中学到东西。...这就是为什么这些衡量标准总是比率原因,也就是说它们只能判断一个模型是否比另一个更好。...我们最终得到是一个经过训练模型,该模型模型架构和超参数可以满足对收集数据进行建模并获得结果。 曾参与过许多新开发深度学习项目,每一次看到最大改进都来自于数据清理。...选择哪一个 一般·文章会在结尾都会告诉你:成年人是不做选择题全都要:使用归纳偏见和清理数据。

38910

Redis作者谈如何编写系统软件代码注释

,然而,经过一番思考后,意识这个主题更适合博客文章。...对来说答案很简单:希望API文档与代码完全匹配。随着代码更改,应该更改文档。 出于这个原因,在函数代码前加入使用这个函数注释使API文档接近代码,三个好处: 1....指南注释存在唯一理由是降低程序员阅读某些代码认知负担。 细节注释 指南注释是非常主观工具。你可能喜欢或不喜欢他们。爱他们。...它们一般都不是很好,试图避免它们,但避免并不总是可能,有时希望不要永远忘记一个问题,喜欢在源代码中放置一个标识。...至少有一个人应该定期查看这些注释,看看是否可以将注释放在更好位置,或者该问题是否已不再相关或可以立即解决。

80360

上下文变量值(context values)陷阱及在 Go 中如何避免或缓和这些陷阱

与其产生这种缺陷,许多开发者喜欢在他们路由函数中使用中间件来避免这样错误。这也帮助应用更易于清晰地理解是否需要认证。最终,这也易于解释他们代码,因为你能轻易判断出是否用户对象会预期出现。...有几种最小化风险方式,但是开发者总是免不了出错,而这只会在运行时出现。 有什么方法避免吗?对于初学者,不要根据我们在以上例子中方式使用上下文变量,而是使用特定类型。...发现这个方案意外适用于在所有的处理器中你需要相似的特定于上下文数据场景。...但是这并不是说,”我们最终需要特定路由中间件“,然后放弃这种方案;而是,除非你确实遇到了它不适宜场景否则你应该尽量使用它。 当不适宜场景最终发生时,有一个想谈谈方案。...这个巨型上下文(喜欢这样叫它)有自己优缺点,可能经常有所帮助,但是并没有在这儿讨论它因为想在梳理它之前试验更多可能性。怀疑最终会在接下来几周再写一篇文章讨论其细节。

1.5K30

李飞飞高徒、AI“网红”Karpathy:训练神经网络不得不看33个技巧

如何训练一个神经网络 基于以上两个事实,为自己开发了一个特定过程,当我将神经网络应用到一个新问题时,都遵循这个过程。本文中将尝试描述这个过程。 你会看到,它是非常重视上述两个原则。...我会寻找数据中不平衡和偏差。通常也会关注自己对数据进行分类过程,这个过程暗示了我们最终要探索各种架构类型。 举个例子,只有局部特性是否足够,还是需要全局上下文?...喜欢在同一个图中可视化标签和预测,并确保一旦达到最小损失,它们最终会完美地对齐。如果没有完美对齐,那么在某个地方就有一个bug,我们无法继续下一个阶段。 验证训练损失下降。...喜欢正在做事情写非常具体函数,让这个函数能work,然后再一般化,确保得到相同结果。这通常适用于向量化代码,我会先写出完整循环版本,然后再将它转换为向量化代码。...后面可以做一些自定义设置和改进,并实现比它更好性能。 选Adam总没错。在设定baseline方法早期阶段,喜欢使用学习率为3e-4Adam架构。

1.1K30

《代码整洁之道》

它不仅让我们看到代码优劣,还予我们以借戒规之力化劣为优攻略。 喜欢优雅和高效代码。...并不从一开始就按照规则写函数。想没人做得到。 每个系统都是使用某种领域特定语言搭建,而这种语言是程序员设计来描述那个系统。函数是语言动词,类是名词。...注释恰当用法是弥补我们在用代码表达意图时遭遇失败。注意,用了“失败”一词。是说真的。注释总是一种失败。我们总无法找到不用注释就能表达自我方法,所以总要有注释,这并不值得庆贺。...在任何系统中,我们有时会希望能够灵活地添加新数据类型,所以喜欢在这部分使用对象。另外一些时候,我们希望能灵活地添加新行为,这时我们喜欢使用数据类型和过程。...我们喜欢把由某个公共函数调用私有工具函数紧随在该公共函数后面。这符合了自顶向下原则,让程序读起来就像一篇报纸文章。 第11章 系统 系统也应该是整洁。侵害性架构会湮灭领域逻辑,冲击敏捷能力。

88320

谁在玩你手机游戏?深入了解玩家,帮助开发者取得成功。

,而「休闲玩家(casual)」玩家总是玩些低难度、没什么挑战游戏。...我们也确实了发现了一些特定游戏类型对应某类游戏玩家。 ? 每个玩家群体在各类手机游戏玩家中所占比例 「网游爱好者者」)几乎什么类型游戏都玩,而且不太可能会偏好某一特定种类。...「爱玩探索者」虽然也倾向于玩各种类型游戏,但是喜欢玩动作类和冒险类游戏。「被影响玩家」热衷于益智类游戏,但是也很喜欢冒险、策略游戏以及小游戏。「尝试性跟随者」喜欢牌类游戏、小游戏和文字游戏。...在设计游戏或增加新功能时考虑玩家差异: 需要明确:这个功能是为特定游戏玩家群体设计,还是为所有的一般玩家? 得到信息:从目标游戏玩家群体处得到反馈。...各种类型玩家通过多种渠道发现游戏,但是如果你正在为特定类型玩家定制游戏,你应该优化策略,着重关注于他们参与最多渠道。 定制游戏参与策略来刺激你目标游戏群体。

72340

怎么才能写出好看Python代码?这五个工具你得用上

1、简单聊聊 首先得给大家说说为什么直接从第十三章开始读,简单说就是对这一章感兴趣,当然本书其他章节也是非常优秀,后面也会抽时间阅读学习。...想,通过本书学习,应该是可以让你学到很多自己之前不曾注意代码编写技巧和方法,更加精进你代码和代码编写方式,如:代码格式化技巧。...所以本书比较适合有一定Python基础同学,用的话来说就是:你应该至少看过小甲鱼Python入门课。...其实自己平时写Python代码是很少写类型注解,不过作者说“虽然相比于传统Python代码,编写类型注解代码总是麻烦一些,需要进行额外工作,但和类型注解所带来诸多好处相比是完全值得”,这个是非常认同...而且类型注解,对于大型项目来说更是重要,完善类型注解可以让伙伴更好地阅读理解代码,也方便代码重构或者修改。

49510

2020年ROS机器人操作系统用户官方调查

社区里大多数人对ROS 2还不太适应。 向社区询问一个特定主题,比如C++,比起询问 "机器人 "这样一个普遍主题,返回结果符合正态分布。...不同类型文件实用性 接下来,想了解是各种文档方法对社区实用性。假设是,较有经验开发者喜欢直接文档或概念描述,而经验较少开发者则喜欢更多视频。...我们想回答另一个问题是,"社会上用是什么样机器人?" 我们不清楚是,我们是否应该继续将大部分教程放在移动机器人上,还是像操纵机械臂和无人机这样东西需要在文档中得到更多体现。...技能水平和文档实用性 我们想回答第一个问题是,某些类型文档是否对不同类型用户更有效?经常听到有人说,学生喜欢看视频。...我们很好奇,不同技术水平用户是否表现出对某一平台偏好。 也许技术水平较低用户对无人机感兴趣,因为他们一般比较容易获得。

44930
领券