Questions tagged «source-code»

源代码是使用某种人类可读的计算机语言(通常是文本)编写的任何计算机指令(可能带有注释)的集合。

2
任何人都可以在代码峡谷等网站上成功销售源代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 最近,我遇到了两个可帮助程序员出售源代码的站点-binpress和codecanyon。任何人都对此类网站有经验/成功吗? 您会再次使用它们吗?他们有什么好处?他们有什么不好?

18
如何在没有任何文档的情况下读取数千行代码?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 以前,我正在为WPF项目寻找良好的TimeLine控件。我在这里找到了一个答案,该答案将我定向到此CodePlex项目。 现在,我想更改代码以满足我的文化需求。但是有一些不匹配! 我的问题是: 您如何与成千上万的代码交互? 编辑: 任何捷径都会很棒!

5
Java的Boolean类-为什么不使用枚举?
在我看来,布尔类是作为枚举实现的理想候选者。 从源代码来看,大多数类都是静态方法,可以将其不变地移至枚举,其余的则变得像枚举一样简单。比较原始(删除注释和静态方法): public final class Boolean implements java.io.Serializable, Comparable<Boolean> { public static final Boolean TRUE = new Boolean(true); public static final Boolean FALSE = new Boolean(false); private final boolean value; public Boolean(boolean value) { this.value = value; } public Boolean(String s) { this(toBoolean(s)); } public boolean booleanValue() { return value; …
11 java  api  source-code 

3
为什么我们不为枚举,抽象类和结构添加前缀?
C#社区已经无处不在地使用“ I”前缀来表示一个接口,即使是最没有经验的程序员也知道会使用它。 为什么我们不给枚举,抽象类或结构加上前缀(可能分别以“ E”,“ A”和“ S”开头)? 例如,如果我们确实用“ A”标记了所有抽象类,它将提供有关该类型的有价值的信息,尽管可以推断出这种信息并不是立即显而易见的。 请注意,我不主张这种改变,我只是在试图理解为什么我们不这样做。 该线程回答了我们为什么使用“ I”前缀的原因,但没有回答为什么我们不使用其他前缀的原因。

5
术语-源代码是程序吗?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 3年前关闭。 我是编程的初学者,对术语没有很好的了解。我想知道以C或C ++等编译语言编写的源代码是否被视为程序?如果没有,谁能解释为什么?

3
我的源代码应该使用UTF-8吗?
我觉得通常您并不真正选择代码的格式。我的意思是,过去我的大多数工具都为我决定了。或者我甚至都没有真正考虑过。前几天我在Windows上使用TextPad,并且在保存文件时,它提示我有关ASCII,UTF-8 / 16,Unicode等的信息。 我假设几乎所有编写的代码都是ASCII,但是为什么要使用ASCII?我们现在是否应该使用UTF-8文件作为源代码,为什么?我想这可能对多语言团队有用。是否有与多语言团队如何命名变量/函数/等相关的标准?

3
开源项目中是否有代码审查?如果是这样,使用什么工具来做到这一点?
我知道在商业开发中大力推动代码审查。但是,代码审查是在开源软件中使用还是基于信任?如果是这样,那么他们的表现如何?[是否是延迟提交,即“预提交环境”,是否存在允许将该补丁发送给另一个开发者的工具]? 是否有任何使用代码审查的项目? 据我了解,Linux内核主要基于提交者的信任。MySQL是基于主要作者的认可和对性能的影响。

3
如何显示/阐明博客中的代码许可
假设我有一个使用知识共享许可的博客。此类许可证将显示在每页底部,并带有指向实际许可证的链接等。 但是,显然,知识共享许可并不真正适合于软件或源代码的分发,那么,可以成为博客文章一部分的任何代码(例如,片段/片段甚至完整程序)怎么办? 如果我选择以GPLv3的形式发布此代码,那么在页面底部是否可以接受并且足够清楚地表明:“ Foo先生的此网站是根据知识共享而发布的,除了任何源代码片段/片段/样本形式的源代码,这些代码在GPLv3下发布? 还是有更好/不同/更正式的方式来澄清这种情况?

6
超链接的外部化源代码文档
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 源代码为什么我们仍然嵌入自然语言描述(即,原因为何一行代码编写)的源代码中,而不是作为一个单独的文件? 鉴于为现代开发环境(高分辨率监视器,双监视器等)提供了广阔的房地产,IDE可以提供半锁式面板,其中源代码在视觉上与-而是与-内在链接其相应的注释。例如,开发人员可以使用超链接的标记语言(链接到其他软件要求)编写源代码注释,这将同时防止文档造成源代码混乱。 哪些缺点会抑制这种软件开发机制? 一个有助于澄清问题的模型: 当光标位于源代码中的特定行(上面以蓝色背景显示)时,与光标所在行相对应的文档将突出显示(即,与其他详细信息区分开)。正如问题中指出的那样,当光标在源代码中跳转时,文档将与源代码保持同步。热键可以在“文档模式”和“开发模式”之间切换。 潜在优势包括: 一次在屏幕上显示更多源代码和更多文档 能够独立于源代码编辑文档(无论语言如何?) 并行编写文档和源代码,而不会发生合并冲突 具有高级文本格式的实时超链接文档 准实时机器翻译成不同的自然语言 每行代码都可以清楚地链接到任务,业务需求等。 文档可能会在每行代码编写时自动加盖时间戳(指标) 动态包含架构图,解释关系的图像等。 单一来源的文档(例如,用于用户手册的标签代码段)。 注意: 文档窗口可以折叠 查看或比较源文件的工作流程不会受到影响 实施过程如何进行是一个细节。该文档可能是: 保存在源文件的末尾; 按约定(filename.c,filename.c.doc)分为两个文件;要么 完全由数据库驱动 通过超链接文档,我的意思是链接到外部源(例如StackOverflow或Wikipedia)和内部文档(即子域上的Wiki,可以交叉引用业务需求文档)和其他源文件(类似于JavaDocs)。 相关主题:业界对文档的厌恶是什么?

11
丢失源代码有多严重?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 如果软件公司将源代码丢失给他们出售的一种产品,那么用您可以向外行解释的话,这有多严重?“重大过失”一词会否太过强烈?还是“严重的无能”?显然没有人被杀,但是难道不如人们因入狱而造成的经济疏忽那么严重吗? 编辑: 假设这不是磁盘驱动器崩溃,自然灾害或类似情况的情况。只是他们放错了地方。

6
当Dijkstra写关于关注点分离的文章时,他是否打算进行代码模块化?
首先,我阅读了摘自Edsger W. Dijkstra 1974年的论文“关于科学思想的作用”: 让我尝试向您解释,我的品味是所有明智思维的特征。就是说,一个人出于自己的一致性而愿意独立地深入研究其主题的一个方面,一直都知道一个人只在其中一个方面中占据一席之地。我们知道一个程序必须是正确的,我们只能从那个角度研究它;我们也知道它应该是有效的,可以这么说,我们可以在另一天研究它的效率。在另一种情况下,我们可能会问自己,是否这样做:为什么,该程序是理想的。但是,通过同时处理这些各个方面,则无济于事!这就是我有时所说的“关注点分离”,即使不是完全可能,据我所知,这是有效地整理思想的唯一可用技术。这就是我所说的“将注意力集中在某个方面”的意思:这并不意味着忽略其他方面,这只是正视这个事实,即从该方面的观点来看,另一方面是无关紧要的。它同时是一轨和多轨。 我看到关注点的现代分离正在谈论将代码模块化。但是,阅读上面的引用后,我理解这是一次将您的注意力集中在一项特定的任务上,而不是将精力集中在其他方面。在我看来,这并不意味着必须将代码分成模块化的块。 也就是说,在您面前有一个代码,即在一个文件中的所有文件都包含视图,存储库,控制器,事件处理,工厂等概念。 作为一个简短的示例,下面是一些具有数据访问权限并查看(输出)的代码: $sql = "SELECT * FROM product WHERE id = " . db_input($id); $row = db_fetch_array(db_query($sql)); <option value="<?=$row['id']?>"<?= $row['ver'] == $row['ver'] ? ' selected="selected"' : '' ?>>Version <?=$row['ver']?></option> 使用现代的OO,我可以使用Repository模式将数据访问放在其自己的文件中,View代码可以进入其自己的文件模板,并且可以将它们连接在一起以通过控制器(或Action或Request Handler)进行通信,并且我可以添加一个工厂来创建和连接各种依赖项。我可以有一个定义这些工厂的配置文件。当然,这与单一文件的一切相去甚远。 我关于关注点分离的问题是这样的:阅读Dijkstra的报价,我有一个想法,即他不一定意味着关注点分离是“代码的模块化分离(到文件或它们自己的函数/方法/等)中”,而且他的意思还在于让人们将注意力集中在程序的某个方面,而不用专心于其他重要但目前尚未考虑的方面,而无论它们是否在代码中物理上分开。 那么为什么我们要负担物理模块化代码分离和设计模式呢?不管代码的结构如何,仅将精力集中在一个方面是否足够? 我不是在谈论编写最可怕的意大利面条代码,然后只考虑它的一个方面,这很可能是一种负担。但是最后,我要解决的是,当不需要在精神上专注于某个方面时,为什么要执行物理代码分离,为什么要将代码拆分为分离的文件或块(方法)? 关注点分离应该仍然是一种心理锻炼,而不是身体锻炼吗? 换句话说,编程的精神(专注)和物理(纸上代码)方面是否应该脱节?

2
Apollo-11:使用包含替代链接器
最近被数字化并转换为仓库,原始的Apollo 11指导计算机源代码已可以在Github上查看。 在MAIN.agc中,回购作者评论说他们 将巨大的整体源代码拆分为更小,更易于管理的块,即单独的源文件。 稍后,作者指出 可能会合理地问,为什么要通过包含的方式连接成千上万行源代码,而不是简单地单独组装源文件,然后将它们链接以形成可执行文件。答案是原始的开发团队没有链接器。 我知道链接器是什么,我理解它们的意思,但我从未听说过“通过包含的方式加入”(就ASM而言)。 这是什么意思?考虑到链接器在编程中起着很大的作用,我很好奇链接器被“包含方式”替代的含义以及它是如何工作的。

4
如果我使用GPLv2许可软件来导出数据,是否必须打开源代码?
我自己一个人在做一个日历项目。在这个项目中,我必须使用瑞士星历表。它已获得GPLv2和商业许可。拥有商业版许可,开发人员可以根据自己的意愿分发软件。但这是我的个人项目,因此我必须使用GPLv2许可证。 通过使用库和数据文件,我可以为日历生成数据。以后,我将在网站上免费发布这些日历。显然,在此过程中,我必须修改库,编写自己的代码和其他杂项。我是否必须打开我的最终源代码。 我没有任何要公开的问题。但是我在问,是否必须这样做。 编辑:从@apsillers和其他人的详细答案中,我很清楚地知道,我不必使我的软件成为GPL,甚至不必向网站的访问者提供源代码。尽管我必须按照该条款将显示的数据设为GPL,但作为瑞士星历数据,已获得GPLv2或更高版本的许可,并且可以商业使用: 更一般而言,当程序将其输入转换为其他形式时,输出的版权状态将继承其生成的输入的版权状态。

2
哪些工具或技术可用于描述不熟悉的代码库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 手动检查不熟悉的代码(以进行检查或修改)时,我似乎有三个选择。 一个自上而下的阅读的代码,通过选择文件名如何根本都好像下一个源文件。 我通常最终会阅读几乎所有内容。一些文件两次。 一个广度优先读取,在那里我找到并用最少的理解阅读所有的调用方法。然后阅读该函数调用的所有函数,依此类推。 如果我深入几次,我的思想栈就会溢出。 甲深度优先读取,其中I通过所有的代码在调试器步骤,不确定是否这将需要8分钟8小时。 一旦我阅读了足够多的代码以对它的工作有一个相当扎实的理解,我通常会反映出我已经阅读了80%或更多的代码库,而基本代码则是20%或更少。我浪费了很多时间。 哪些工具可用于快速掌握陌生的代码?是否有任何工具可以对关键代码路径有一个“大印象”,并允许我深入了解任何一部分的细节?

8
什么时候“优化代码” ==“构造数据”?
ycombinator最近发表的一篇文章列出了关于优秀程序员原理的评论。 #7.优秀的程序员:我优化代码。更好的程序员:我构造数据。最佳程序员:有什么区别? 承认主观和有争议的概念-有人对这意味着什么有立场吗?是的,但是我以后想根据自己的想法编辑这个问题,以免预先回答这些问题。

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.