Questions tagged «maintenance»

部署软件系统后发生的活动。这包括对发布的系统进行修改,培训,操作以及过渡到支持组织。

8
我们是否应该删除数据库中的数据?
我是数据库新手,正在尝试了解基本概念。我已经学会了如何删除数据库中的数据。但是我的一个朋友告诉我,永远不要删除数据库中的数据。相反,当不再需要它时,最好将其标记或标记为“未使用”。 真的吗?如果是这样,那么像IBM这样的大公司将如何处理其一百年或更长时间的数据?

2
如何保持基本技能免于萎缩?[关闭]
编码只是专业编程的一个方面。我的工作需要我编码,但也需要我做更长的时间–有时我不只是编码,甚至需要几天或几周的时间。 我担心在开会,绘制架构图和注释需求时,会让来之不易的编程技能萎缩。(更不用说我不信任人们编写不理解代码的需求。) 我不能只阅读有关编码的书籍和杂志。我在业余时间参与了一些开源项目,而stackoverflow和朋友们也有所帮助,因为我有机会帮助人们解决他们的编程问题而无需进行微管理,但是它们都不是结构化的,因此很容易工作首先是我可以轻松解决的问题。 我想我想找到的是一组结构化的练习(不在乎什么语言或环境)…… …我可以定期做 …有某种时间要求,所以我可以告诉我是否一直在忙 …有某种得分方式,所以我可以判断自己是否犯错 有这样的事吗?您将采取什么措施来保持技能的新鲜度?

9
将F#引入大型代码库和工程团队的现实陷阱[关闭]
我是一家软件公司的CTO,该公司拥有大量现有代码库(全部为C#)和相当大的工程团队。我可以看到,使用F#编写代码的某些部分将变得更加容易,从而导致更快的开发时间,更少的错误,更容易的并行实现等,基本上可以为我的团队带来整体生产率的提高。但是,我还可以看到引入F#的一些生产率陷阱,即: 1)每个人都必须学习F#,这并不像从Java转换为C#那样简单。尚未学习F#的团队成员将无法处理代码库的F#部分。 2)截止目前(2010年12月),没有可雇用的F#程序员。在各种软件工程师的简历数据库中搜索“ F#”,少于1%的简历包含关键字。 3)目前(2010年12月)的社区支持较少。您可以在C#中搜索几乎所有问题,并找到已经处理过的人,而F#却不是。第三方工具支持(NUnit,Resharper等)也很粗略。 我意识到这有点Catch-22,也就是说,如果像我这样的人不使用F#,那么社区和工具将永远无法实现,等等。但是,我有一家公司可以经营,但我可以领先但不流血的边缘。 我没有考虑其他陷阱吗?还是有人愿意反驳我提到的陷阱?我认为这是一个重要的讨论,很想在这个公共论坛上听到您的反对意见,这可能对提高行业采用F#起到很大作用。


7
谁应该为修复/错误付费?[关闭]
因此,我刚刚开始从事台式机/网站开发方面的自由职业,并且这位已经接受了我的工作的客户开始为我付费,每次他发现错误等时,都会付钱给我。自由。这样可以吗,还是应该开始收取抚养费? 哪种方法最好地处理可能已经接受并完成的修复程序?

13
语言不受欢迎的开发中的问题(例如维护)
我正在团队中单独使用clojure(lisp)开发一些应用程序。它从小应用程序开始。没问题。但是,由于它具有功能并扩展了区域,因此它已成为重要的程序。 我担心维护等问题。我们团队中没有人知道Clojure或Lisp,也不对诸如此类的语言感兴趣。 因此,用不受欢迎的语言进行编程不是错误的做法吗?(为了我自己的乐趣?)我应该使用更多流行的语言吗?(至少像python) 我确定我是否要离开团队,而不是说我要离开。:)-没有人​​会维护它。该程序将被销毁,部分程序将使用其他语言进行开发。 尽管我非常喜欢使用clojure进行开发,但我发现这可能不适合我的团队。 你怎么看待这件事?我认为许多喜欢不受欢迎的语言的程序员都在关注类似的问题。

6
成千上万的错误!
我最近被分配到一个新项目。好吧,实际上是一个用经典ASP编写的旧项目。现在,该应用程序的新版本正在最新的ASP.NET中编写,但预计不会在一段时间内成为RTM(估计发布日期为2017年1月),因此我必须对旧应用程序执行一些维护,直到可以丢弃。 另外,我有一种感觉,不是所有客户都会立即切换到新程序,因此该版本可能会出现一段时间。 问题是,它充满了错误。它的一部分可以追溯到上个世纪,当时还没有Web标准,而且我不太介意Quirks模式,width并且height属性而不是CSS,用于布局的表格,框架集等,但是哦,所有这些错误!width="20px"在所有onchange="javascript:..."使用css的地方,style="width:20"并且style="width=20px"很常见。更不用说有矛盾width和style属性的地方。等等。 因此,Web应用程序仅在IE下运行,并且仅在兼容模式下运行。显然,开发人员从来没有考虑过代码有效性,只有结果看起来像他们所想的那样。 而且我不知道该如何处理。在查找代码中的其他错误时,我发现无法对那些错误闭目。 我当然可以进行全局查找和替换,以解决大部分问题,但这意味着我的第一次提交将包含成千上万个已更改的.asp文件。我可以那样做吗?

11
哪些因素应该影响我如何确定何时与朋友一起放弃一个小项目?[关闭]
最近我发现自己处在困境中。现在已经与一个编程伙伴一起玩了将近8个月的游戏。我们都是从去年8月左右开始学习编程的新手,他是CS的二年级学生,我是一名IT贸易技术支持人员,并且是一位自学成才的程序员,拥有大量的书籍和在线订阅。 我一直看到的问题是,当我们写出一段代码时,它常常会被黑在一起,会有很多失败,如果这对我们中的一个人来说是一个全新的概念,那就是天真的解决方案。很好,我们正在学习,我希望我们的两个代码在第一遍或第二遍都被一起破解。当涉及到实际修复和重构那些被黑在一起的行为时,就会出现问题。 我的伴侣将坚持自己刚凑齐的行为,公然拒绝看到任何错误,因为它开始起作用。即使从结构上声称接近完美,即使它具有注释以及适当命名的方法和字段,我什至都无法尝试使用。无论我多么努力,我都无法让他看到明显的明显缺陷,这些缺陷将阻止行为的任何进一步更改或扩展,而又不会完全破坏行为,而与行为如此紧密耦合的所有事物也可能属于同一类。被黑客入侵的解决方案将永远保持被黑客入侵,深思熟虑的设计会像最初构思和测试时那样保持原样。 我花了很多时间来照顾新代码,就像我自己编写代码一样,我不知道该怎么做。我的伴侣今晚输了它,并明确表示,无论是什么,基准,常规做法,无可辩驳的证明,他的代码都将保持其最初的用法。即使已经写了整本关于您为什么要避免做某事的书,他也会拒绝承认其有效性,声称这只是别人的意见。 我对我们的项目有既得利益,但是我不确定是否可以继续与我的合作伙伴一起工作。我似乎有三个选择。 不再关心编译后的代码库功能,而只是尝试维护和解析几乎没有发展的行为。希望一旦事情开始严重破裂,他将看到并尝试做更多的事情,而不是仅仅对根本存在缺陷的设计施加创可贴。 继续对十年前其他能力更强的人提出的问题进行无休止的争论。 停止对该项目进行编程,放弃我的代码将近10,000行,并花费大量的时间进行设计工作,然后尝试自己寻找一个新项目。 我可以采取哪种方法来确定是否值得与这个人继续进行此项目?还是哪些因素会影响我的决定?我们已经编写了很多代码,除非有必要,否则我不想放弃。

6
唯一的开发人员离开后,维护Web应用程序
我患有晚期疾病,极有可能在今年年底不再出现在这个世界上。 我已经开发了一个Web应用程序,该应用程序广泛用于我的家人的业务(一家小型美发店)。我的家庭成员没有编程技能和系统管理技能。我既没有这些技能的好朋友。 该业务每年的净利润最多为1万。实际上,营业利润只能支付其3名员工(父亲,母亲和妹妹)的薪水,而这些薪水很低,并且每年由于金融危机而减少。实际上,我不是家族企业的雇员,我在一家常规软件开发公司工作。我在业余时间开发了该应用程序,以帮助他们。 到目前为止,我不在乎其他企业是否也在使用我的应用程序,甚至该应用程序本身也失去了我的所有权。我只希望家人的业务可以继续使用它,这意味着如果出现问题,将为系统管理提供支持,并开发新功能/错误。 我想问一下您是否可以给我您认为可以采取的措施,以尽可能保证应用程序的连续性。 该应用程序的技术是: 平台:Tomcat(Java),MySQL和Linux 框架:主要是JPA和ZK


6
如何修复基本上没有结构的项目?
我从事一个软件项目(主要是单独工作)已有5年以上。首先是一团糟(我是从事此工作的第三或第四位开发人员),尽管现在已不再是一团糟,但它仍然杂乱无章。使它得到控制的进展速度令人不寒而栗,我开始对它所处的状态感到沮丧。我如何真正开始修复它? 项目细节:这是一个销售程序,几乎完全用Visual Basic Classic(VB6)编写,带有MySQL后端和用C#编写的报表引擎。C#报表模块非常有趣,它只是在过去的几年中编写的,而在此之前所有报表都是在Crystal Reports 9中完成的(是的,我们仍然有一些报表依赖于此)。 但是,实际程序本身就是一场彻底的灾难。总的LOC数不足9万,注释约有1万行(大多数不是文档,而是注释掉的旧代码)。158个表单文件和80个模块文件。我不知道实际使用了多少个,因为程序的某些功能被简单地弃用了(有时是这样),而没有从程序中删除相关的代码。我猜想只有50%的代码可以实际用于生产。 我害怕触碰很多代码,只是因为我不确定我是否正在破坏一个晦涩的客户所依赖的东西,这种情况发生的次数超出了我的估计。就像整个代码中散布着地雷一样。 该项目实际上没有任何结构。到目前为止,除了在我耐心改革的几个地方之外,它不是面向对象的。如果需要在表单上获取数据,则可以实例化数据库对象,然后在函数中声明查询,然后执行查询并对数据集执行操作。 当我开始从事该项目时,没有使用任何源代码控制。我试图鼓励其他正在使用它的人使用它,但是我是新手,试图让人们使用Subversion的尝试全部失败了。该公司的首席开发人员在过去的几年中终于发现了一个软错误,并且他确保所有开发人员现在确实在所有项目上使用了源代码控制,因此至少可以取得一些进展。 我认为,如果我能够全职进行该项目的改革,我将能够取得不错的进展,甚至可以估算出我完成整个项目所需的时间,但是该项目正在积极使用中,我经常被要求扑灭火灾,修复错误,添加功能等。 那么,我如何开始真正解决这个问题呢?尝试使用其他语言来工具VB6吗?尝试在业余时间重写程序吗?还是这完全没有希望? 更新资料 这篇文章发表后,我怀着新的热情回到了这个项目,但是在看到如此缓慢的进展之后,在几个月内又陷入了绝望。然后,在接下来的一年左右的时间里,我又重复了此循环2到3次。 从那以后,我转到了另一份工作。尽管经过了很多年的vb6,并且只有其他技术的外围经验,但是搜索仍然很困难,而且我在此过程中遇到了很多拒绝(一年中约十二次采访)。在这种情况下,我对他人的建议是考虑单独考虑这一因素。考虑保持这样的死胡同对您的职业可能造成的损害。

12
行业对热情的程序员没有地方吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我一直在我的经理认为如果您在一个地方的地方实习, 产品公司,那么您通常会花时间调整产品,有时会添加一些功能,或者 服务公司,那么您会继续做重复的事情 这让我感到行业不适合喜欢创造新闻和解决难题的人。 那么,这个行业不是一个充满激情的程序员的地方吗?这会因国家而异吗? 更新以清除某些事情,这些事情与它们的含义不同。 在这里进行调整是确保您的产品具有表,该表具有客户想要的行数和列数,等等。为客户定制它。 新的“功能”在这里不是新功能。只是美学层面的变化。有时候是。 我不确定他所说的重复是什么意思。他就像,您必须一次又一次地创建UI。(不过,我在那儿看不到任何重复。如果需要一个不同的 UI,则需要设计一个不同的 UI。如果可以使用旧的UI,则无论如何都不需要做很多事情。)

13
成为更好的错误修复程序
我喜欢成为一名程序员。在那里,我说了。但是,话虽如此,我最近才意识到我真的无法忍受错误修复。完全没有 实际上,在开发某些东西时,我的生产率非常高。即使编写单元测试和对开发进行自我测试,我通常还是非常有生产力的。我可以集中精力,并且可以完成任务。 但是,当质量检查时间到了并且我正在修复错误时,我的灵感得到了巨大的喘息。我必须采取非常极端的措施(例如,高BPM音乐,过量的咖啡因等)强迫自己完成所有工作。我的工作通常涉及到进入现有的大型项目并添加新功能或修复错误,因此我无法确切地告诉雇主我需要几个星期才能为他们的所有代码编写单元测试:)另外,我们经常使用的服务器技术对于单元测试和集成测试都是非常禁止的,因为它存在很多Java类加载器问题。我并不完全反对错误修复,有时它可能很有趣,但是一点也不有趣 当您必须进行细微更改并等待30秒到3分钟才能查看它们是否起作用时(由于系统的工作方式)。 修正错误时,如何提高工作效率和动力?这是大多数程序员处理的吗?

1
在开发过程中创建单元测试对开发时间以及维护活动所花费的时间有什么影响?
我是一名顾问,我将向客户现场的所有开发人员介绍单元测试。我的目标是确保所有新应用程序都应对所有创建的类进行单元测试。 客户端因修复其现有应用程序中的错误而存在高维护成本的问题。他们的应用程序的寿命介于5到15年之间,在此期间,他们不断添加新功能。我非常有信心,他们将从单元测试开始中受益匪浅。 我对单元测试对开发时间和成本的影响感兴趣: 作为开发过程的一部分,编写单元测试会增加多少时间? 通过良好的单元测试,可以节省多少维护活动(测试和调试)时间?

12
我刚开始在Scrum工作,似乎缺少了一些东西。我是Scrum的新手
该代码是经典ASP / ASP.NET组合的完整混乱。混乱包括我们修补大混乱或对其进行补充。我们都太忙了,无法开始重写,所以我想知道。 Scrum中哪一部分可以让开发人员有能力说足够就够了,并要求他们有时间开始大型重写?我们似乎无休止地循环使用“ Stories”修补旧代码。 因此,事情似乎由非技术人员执行,他们似乎不希望推动重写,因为他们不了解代码库的糟糕程度。 那么谁来负责进行这种大的重写更改呢?开发人员?Scrum Master? 目前的策略只是为了找到时间,去做自己不参与上级领导,因为他们大多归咎于当前的混乱我们是在.. <-关于非技术人员告诉技术人员在这里做什么插入咆哮->。

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.