Questions tagged «technique»

2
以下(反)模式的名称是什么?它的优缺点是什么?
在过去的几个月中,我偶然发现了以下技术/模式。但是,我似乎找不到一个特定的名称,也不能百分百确定其所有优点和缺点。 模式如下: 在Java接口中,照常定义了一组常用方法。但是,使用内部类,默认实例会通过接口泄漏。 public interface Vehicle { public void accelerate(); public void decelerate(); public static class Default { public static Vehicle getInstance() { return new Car(); // or use Spring to retrieve an instance } } } 对我来说,最大的优势似乎在于,开发人员只需要了解接口,而无需了解其实现,例如,在他快速想要创建实例的情况下。 Vehicle someVehicle = Vehicle.Default.getInstance(); someVehicle.accelerate(); 此外,我已经看到该技术与Spring一起使用,以便根据配置动态提供实例。在这方面,它看起来也可以帮助模块化。 但是,我无法撼动这是滥用接口的感觉,因为它将接口与其实现之一结合在一起。(相关性反转原理等。)有人可以向我解释该技术的调用方式以及它的优缺点吗? 更新: 经过一段时间的考虑后,我重新检查并注意到,使用以下单例版本的模式的频率更高。在此版本中,公共静态实例通过接口公开,该接口仅初始化一次(由于字段为final)。另外,几乎总是使用Spring或将接口与实现分离的通用工厂来检索实例。 public interface Vehicle …

7
您如何跟踪大型项目?
当处理一个包含许多不同文件的项目时,我似乎总是不了解零件之间如何交互。我从来没有真正遇到过孤立地了解较小的组件的问题,但是随着项目的复杂性增加,我发现自己无法从心智上理解正在发生的事情。随着方法和源文件数量的增加,我尤其在OOP项目中注意到这一点。 我的背景:我是一个自学成才的网络程序员。我主要使用python处理快速而肮脏的脚本,但是我也做了一些基本的django项目。我喜欢flask之类的Web框架,因为在单文件布局的简单性中,我可以轻松(大部分)跟踪正在发生的事情。 现在,我处于需要与其他人开发的大型Zend Framework PHP项目进行交互的情况,而试图理解扩展到许多文件的代码让我不知所措。 您发现哪些技术和过程对理解他人开发的大型代码库有用?您是否找到任何特定的图表来帮助您掌握大图?

8
尝试用软件调试问题/问题/错误时,通常使用什么过程?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 大多数人似乎将调试视为一门艺术,而不是一门科学。对于这里将其视为一门科学而不是一门艺术的人们来说,遇到新的问题/错误/问题时,通常使用什么流程?

6
您需要什么才能成功实现敏捷?
在某些组织中,采用敏捷可能会失败,我什至在一家公司(瀑布式)是唯一(真正)方法的工作,但这仅仅是因为他们在项目上尝试了敏捷并失败了。 当我问那些仍然记得(我还是大三)的人时,我很难过,就像我提醒他们一场噩梦一样,这确实发生了。 我不知道为什么项目失败了。网上可以找到一些资源,为什么有些公司会导致Agile失败,但原因主要是经济上的。所以我想在此先提出一些反馈。 在某些组织中,敏捷采用失败的原因是什么?或者,另一种表达方式。.要使敏捷成功,您需要做什么?

5
右脑干手如何处理大量的左脑干手代码?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我主要是一名艺术家,尽管我形容自己是一名艺术家/物理学家。虽然我可以做数学,处理单词以及被认为是左脑的“逻辑”事物,但这是一种努力,并且我会犯错,而我做得很好,并且大多数时候会考虑与右脑有关的事情当然,所有这些都是模糊的,因为左右脑理论过于简单,没有任何心理活动如此简单。但是我确实感觉自己适合艺术家,视频导演,厨师和其他非语言思维,创意类型,而大多数“ IT”或铁杆软件工程师的人的思维方式却有所不同,注重细节,坚如磐石。一次记住许多细节,强大的理性和言语能力。 因此,在这里,我从事的工作是修复大量C ++软件中的繁琐且难以理解的错误,这在OO上非常繁琐,并且除非我牢记其他二十个类和方法名,否则任何一行代码都没有意义,它们之间的关系,执行流程(非常像意大利面条)和其他细节。 除此之外,我还强烈反对许多现代C ++和OO风格。编写此代码的人真的喝了OO和Modern C ++知识。我发现它实际上使代码更难遵循,更难于决定在哪里修复或更改某些东西。我不知道这是否是左右差异(或任何您想称呼它的一部分)的一部分。 但是我必须使用C ++进行工作-人们依靠我的收入。有什么技巧和技巧来应对这种情况,从而对我的雇主尽可能有效?
11 technique  tips 

3
原型方法有什么意义?
我正在阅读Javascript:The Good Parts,并努力使自己了解原型部分。 经过一番谷歌搜索后,我得出的结论是,在对象声明之后向对象添加属性。 使用从w3schools闪闪发光的此脚本时,我注意到删除添加原型属性的行无效。那有什么意义呢? //Prototyping function employee(name,jobtitle,born) { this.name=name; this.jobtitle=jobtitle; this.born=born; } var fred=new employee("Fred Flintstone","Caveman",1970); employee.prototype.salary=null; // <--- try removing this line fred.salary=20000; document.write(fred.salary);
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.