Questions tagged «terminology»

有关与系统开发生命周期相关的词语和概念的客观含义或共同理解的问题


6
云计算只是资源租赁的一种方式吗?
我工作的公司最近在Windows Azure中托管了一项Web服务,并宣布了这一点。现在,在线贸易杂志说很多无意义的内容,例如“ X公司迁移到云”,“ X公司将桌面放到云中”等等。 看起来有很多材料(从Wikipedia开始)很冗长,并且谈论了很多有关“服务”和“入门价格低”的东西,但是我已经读了所有这些,并且看不到它们是怎么回事。对于外行而言,在云中的服务与Stack Exchange之间划清界限可能是有帮助的,Stack Exchange也是一项服务,但可以在同一位置的实体服务器上运行。 现在,根据我对Windows Azure的经验,真正的区别如下。借助云,服务所有者可以按需租用硬件,网络带宽和使用中间件(例如,Azure角色中使用的Windows 2008)使用中间件的权利,并且还提供一些维护帮助(例如,正在运行某个角色的计算机崩溃而另一台计算机崩溃了)会自动找到并重新部署角色)。没有云,服务所有者将不得不自己处理所有这些。 这是正确的区分吗?


7
模式与原理的区别
面向对象的设计模式和原理之间有什么区别?他们是不同的东西吗?据我了解,他们两个都试图实现一些共同的目标(例如灵活性)。那么我可以说模式是原则,反之亦然吗? 设计原理= SOLID(即依赖反转原理) 设计模式= Gof(即抽象工厂模式)

2
理解“接缝”一词的问题
我正在阅读Mark Seemann撰写的“ .NET中的依赖项注入”(这太棒了,而且必须有),并且作者经常使用“ seam”一词。但我不明白这意味着什么。这是使用此词的示例: 第7章介绍了如何在各种具体框架(例如ASP.NET MVC,WPF,WCF等)中组成对象。并非所有框架都同样出色地支持DI,即使在那些框架中,DI的实现方式也有很大差异。对于每个框架,可能很难确定在该框架中启用DI的SEAM。但是,一旦找到SEAM,您就会为使用该特定框架的所有应用程序找到一个解决方案。在第7章中,我已经为最常见的.NET应用程序框架完成了这项工作。可以将其视为框架SEAMS的目录。 感谢您帮助我理解这个词。

4
作为软件架构师,您应该提出什么建议?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 关于StackOverflow和Programmers SE上的软件架构师(SA)的角色,存在很多问题,而且都有很好的答案。我正在尝试提出一个比那些更集中的问题。SA的定义非常广泛,因此,为解决此问题,我们将SA定义如下: 软件架构师指导项目的总体设计,参与编码工作,进行代码审查,并选择要使用的技术。 换句话说,我不是在谈论SA的波峰(不再使用押韵词)类型的管理休息和归属。如果我要从事任何类型的SA职位,我都不想远离编码。我可能会花一些时间与客户和业务分析师等进行交流,但是我仍然在技术上参与其中,而且我不仅了解会议的进行情况。 考虑到这些要点,SA应该带来什么?他们是否应该怀有“放下法律”(可以这么说)的思想,并强制某些工具的使用以符合“他们的方式”,例如编码指南,源代码控制,模式,UML文档等?还是应该指定初始方向和策略,然后根据需要摆放并跳入以纠正船的方向? 根据组织的不同,这可能不起作用。依靠TFS来执行所有事务的SA可能会在仅使用StarTeam的雇主那里难以实施其计划。同样,根据项目阶段的不同,SA也需要保持灵活性。如果这是一个新项目,则他们有更多选择,而现有项目则可能更少。 以下是一些我作为共享背景知识而经历过的SA故事,希望我的问题的答案也能为这些问题提供一些启示: 我曾与一名SA一起工作过,该SA的代码实际上检查了团队的每一行代码。SA不仅会为我们的项目,而且还会为组织中的其他项目执行此操作(想象在此上花费的时间)。起初,强制执行某些标准很有用,但后来却变得残酷。FxCop是SA如何发现问题的方法。别误会,这是教导初级开发人员并强迫他们考虑他们选择的方法的后果的好方法,但是对于高级开发人员而言,这被认为有些苛刻。 一个特定的SA反对使用某个库,声称它很慢。这迫使我们编写大量代码来实现不同的目标,而另一个库可以为我们节省很多时间。快进到项目的最后一个月,客户抱怨性能。唯一的解决方案是,尽管有开发人员的早期警告,仍要更改某些功能以使用最初忽略的方法。到那时,很多代码被扔掉并且不可重用,从而导致超时和压力。可悲的是,用于该项目的估算是基于我的项目被禁止使用的旧方法,因此它不是合适的估算指标。我会听到总理说“我们以前做过” 将在所有项目中强制使用DTO,DO,BO,服务层等的SA。新开发人员必须学习此体系结构,并且SA严格执行使用指南。当绝对难以遵循使用指南时,会出现例外情况。SA是基于他们的方法。DTO和所有CRUD操作的类都是通过CodeSmith生成的,而数据库模式则是另一个相似之处。但是,在所有地方都使用了此设置之后,SA并未接受诸如LINQ to SQL或Entity Framework之类的新技术。 我没有将此帖子用作发泄的平台。我对上述SA故事的经历有正面和负面的方面。我的问题归结为: SA应该带来什么? 他们如何在决策中取得平衡? 是否应该以必须执行某些基本规则的心态来从事SA工作(如先前所定义)? 还有什么需要考虑的吗? 谢谢!我确信这些工作任务很容易扩展到高级开发人员或技术负责人,因此也可以以这种身份随意回答。

3
谈论C ++“方法”(相对于“成员函数”)有多错误?
我了解,根据C ++规范,不存在“方法”之类的东西,并且一些(很多?大多数?)C ++程序员认为“方法”是一种Java主义。另一方面,即使在C ++论坛上,人们似乎也在谈论方法而不会抽搐。我正在寻找有关此术语的已知约定或惯例。 我正在记录同时具有C ++和Java版本的API。开发人员实际上将类和方法/成员函数的名称在两者之间保持相同,以方便移植和测试。因此,有关这些API的一些文档需要放在语言选择的“上方”。我需要能够大致讨论Foos和Bars及其baz()和mumble()...方法? 如果我谈论Java程序员会认为它很自然的方法,那么看来C ++程序员可能会理解,但是有些人会认为它是不正确的。我的问题是:令人发指这是怎么在实践中?相对于C ++特定的函数,通常如何在“通用OOP”上下文中谈论C ++成员函数?有没有更好的方式来讨论成员函数,而这两种语言都不对吗?(“成员函数”有点冗长。) 这不是意见调查;我正在尝试确定是否存在实际的约定或通用做法来解决此问题。 我知道这个问题,但是它通常是关于OOP的,而不是关于特定语言的。

5
Google Closure是真正的编译器吗?
这个问题的灵感来自对此Stack Overflow问题的评论中的辩论。在谷歌关闭编译文档指出以下(强调): Closure Compiler是使JavaScript下载和运行速度更快的工具。这是一个真正的JavaScript编译器。它不是从源语言编译为机器代码,而是从JavaScript编译为更好的JavaScript。 但是,维基百科给出了“编译器”的以下定义: 编译器是一种计算机程序(或一组程序),可以将以编程语言(源语言)编写的源代码转换为另一种计算机语言。语言。 基于此,我想说Google Closure不是编译器。但是Google明确声明它实际上是一个“真正的编译器”,这一事实使我想知道是否还有更多功能。Google Closure真的是JavaScript编译器吗?

2
什么是Aguri树?
浏览一些旧的Hacker News文章时,我遇到了一个用户的帖子,内容是 Aguri树,这些树将有界大小的基数trie(例如您将在软件路由表中使用)嫁接到LRU列表,并自动从模式中合成聚合(例如来自所有IP的1000个观察值的10.0.0.0/16)插入。它们在流量分析中最为人所知,但我们也在运行时内存分析中也使用了它们。 〜tptacek 所以我决定查一下 快速的Google搜索将我带到F1驱动程序。 在Wikipedia上进行搜索会导致印度出现种姓制度,而日本也有一些商品 堆栈溢出命中0个结果/programming//search?q=aguri site:stackoverflow.com/questions aguri 所以我终于将其链接回用户,看到他的博客上有链接 http://www.matasano.com/log/1009/aguri-coolest-data-structure-youve-never-heard-of/ 但这已经死了。 那么,这个Aguri数据结构是什么?如果它是真实的数据结构,为什么在其他任何地方都没有记录呢?

8
什么是伪代码?
最近,在该站点和其他站点上,我都看到了很多有关伪代码的提及。但我不明白: 什么是伪代码?例如,下面的Wikipedia文章说:“它使用编程语言的结构约定,但旨在供人类阅读而不是机器阅读。” 这是否意味着它实际上并未用于制作程序? 为什么使用它? 如何使用? 它被认为是一种编程语言吗?(请参阅上面的维基百科报价) 它是众所周知/使用过的吗? 老实说,我不知道从哪里开始。我已经用Google搜索了它,并且看到了有关该主题的Wikipedia文章,但是我仍然不完全了解它是什么。

8
抽象的反面是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 据我了解,抽象是我们使用的术语,它是指从更简单的事物中创建更多含义而不改变它的情况。它源自拉丁语动词abstrahere(“移开”)。例如,文本和二进制图只是二进制数据的一种抽象。因此,在计算机中,文本和位图存在于二进制数据之上(以二进制数据实现)。 我的问题是:相反的术语是什么?如果我想知道位图除了二进制数据以外还可以实现的其他更基本的东西(例如镶嵌的瓷砖或拼布被子的织物补丁),我需要什么?有话要说吗? 抽象具有泛化的内涵,而相反的过程就是泛化。IDK是否有帮助。

2
“灯具”的不同含义是什么?
我对理解“固定装置”的概念有些困难。我知道什么是测试套件,测试用例,测试运行,但是“夹具”到底是什么?参数化的测试用例? 在我看来,“夹具”一词的含义或语义可能会因编程语言或测试框架而略有不同?我认为一个phpunit夹具 “ 代码将世界设置为已知状态,然后在测试完成时将其返回到其原始状态。该已知状态称为测试的夹具。 ” 与“ 健身器材 ” 略有不同, “ 夹具是Wiki页面和被测系统(SUT)之间的桥梁,被测系统是要测试的实际系统 ”。 这里附近有软件测试专家可以回答这个问题吗?欢迎引用其他编程语言。

4
转换应该是什么意思?
当使用CI之类的低级语言进行编码时,发现强制转换有时意味着“重新解释这些字节,就像它一直是其他类型一样”,而在其他时候则是“将值智能地转换为其他类型”。 这个词的原始含义是什么,什么时候期望进行转换以及什么时候期望进行原始重新解释?

5
术语“前端”是否与“客户端”同义?如果是这样,是否总是这样?
作为一个相对较新的(自学成才的)Web开发人员,我经常听到术语“ 前端”,“ 客户端”,“ 后端”和“ 服务器端”。对我来说,前端和后端始终分别是客户端和服务器端的同义词。 但是,随着我开始使用诸如CodeIgniter之类的MVC框架,我遇到了一些前端实例,这些实例基本上指的是最终用户看到的任何东西(包括服务器端代码),而后端则指的是任何东西。最终用户看不到(包括CMS)。对我来说,客户端和服务器端的含义更为具体。它们之间有很明显的界线。另一方面,前端和后端则没有。 我记得在与另一位Web开发人员的一次交谈中,他将CodeIgniter(全部)称为前端,这使我陷入了循环。我不确定是否要纠正他并说CodeIgniter是我的后端,或者我对这两个术语的定义完全错误。 搜索前端和后端的定义在某些方面使我有些困惑,尽管它们确实澄清了一些事情。我只想知道这四个术语之间的界线,以及它们在Web开发的上下文中(特别是在LAMP堆栈上)如何组合在一起。

3
当程序员谈论“数据结构”时,它们指的是什么?
当程序员谈论“数据结构”时,他们只是在谈论诸如列表,树,哈希,图等的抽象数据类型吗? 还是该术语包括任何保存数据的结构,例如复合类型(类对象,结构,枚举等)和原始类型(布尔,整数,字符等)? 我只听说过程序员使用该术语来引用复杂的数据结构或抽象的数据类型,但是提供数据结构列表的Wikipedia文章在定义中同时包括了复合类型和原始类型,这并不是我所期望的(甚至虽然确实有道理)。 当环顾四周网上我看到,是指在编程意义上的术语“数据结构”为仅指抽象数据类型的其它地方,比如从计算机科学的州立大学石溪分校的系本次讲座哪些状态 数据结构是特定抽象数据类型的实际实现。 或这本有关数据结构的Wikibook,它在诸如此类的句子中使用该术语: 由于数据结构是更高级别的抽象,因此它们向我们提供了对数据组的操作,例如将项目添加到列表中或查找队列中优先级最高的项目 那么,为什么我在使用术语“数据结构”时只听到程序员指的是复杂的数据结构或抽象的数据类型?程序员对术语的定义是否与字典定义不同?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.