Questions tagged «programming-practices»

编程实践是软件开发中常用或不常用的实践。这些可以包括敏捷开发,看板,编码快捷方式等。

3
如何在重量级开发方法上获得个人实践?
我正在从事一项新工作,该项目需要满足严格的质量标准,大量记录,详细管理,UML图表以及所有与“牛仔编码”相反的事情,在这些工作中,我过去的大部分工作经历都是。想想大型航空航天或医疗设备软件的开发方式。 我很高兴离开牛仔编码的混乱局面,并很想知道重量级工程方法的发展情况。但是,一个人如何可以很快地从繁重的方法中获得经验呢? 就是说,除了简单地工作了几个月/几年。 仅使用一种语言或新的API,就可以破解玩具测试程序,阅读,故意犯错误以查看会发生什么情况等。练习就像骑自行车或演奏乐器一样,必不可少。拿起长笛每天花半个小时很容易;无需加入乐团或成为专职长笛顾问。但是,如何实践大型,复杂,涉及团队的软件工程活动,而这些活动中的大部分都与沟通和计划有关,如何避免沟通不畅以及超出进度和预算限制? 这似乎不可能独奏。有几种方法可以在短时间内(一天)以小规模模拟一个大型项目的工程?

5
什么时候停止继承?
很久以前,我在Stack Overflow上问了一个关于继承的问题。 我说过我以OOP方式设计国际象棋引擎。因此,我继承了Piece抽象类的所有片段,但继承仍然存在。让我按代码显示 public abstract class Piece { public void MakeMove(); public void TakeBackMove(); } public abstract class Pawn: Piece {} public class WhitePawn :Pawn {} public class BlackPawn:Pawn {} 程序员发现我的设计超出了工程学,建议删除有色块类,并保留色块作为属性成员,如下所示。 public abstract class Piece { public Color Color { get; set; } public abstract void MakeMove(); public abstract void …

7
检查方法是否返回false:将结果分配给临时变量,还是直接将方法调用置于条件中?
调用在if语句中返回true或false值的方法是一种好习惯吗? 像这样: private void VerifyAccount() { if (!ValidateCredentials(txtUser.Text, txtPassword.Text)) { MessageBox.Show("Invalid user name or password"); } } private bool ValidateCredentials(string userName, string password) { string existingPassword = GetUserPassword(userName); if (existingPassword == null) return false; var hasher = new Hasher { SaltSize = 16 }; bool passwordsMatch = hasher.CompareStringToHash(password, existingPassword); return …

5
如何让队友知道我对一个对象做了什么更改?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 假设我有一个PHP对象,比如说:companyObj。 class companyObj { private company_name; private company_address; public function print_contact() { //logic } } 这是我写的对象,并与队友共享。现在,我想使其更强大,如下所示: class companyObj { private company_name; private company_address; private company_contact_person; public function print_contact() { //logic updated } } 现在,如何通知队友我的对象具有可以设置的更多属性? 当我不希望我的队友浪费时间去查看源代码级别的更改时,我不向开发团队中的每个人发送电子邮件,而是如何使团队知道发生了什么?

4
开发定制购物车值得吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在我的工作场所中,我们有漂亮的Cakephp模块库,并且我们会以令人满意的速度开发自定义网站,直到购物车出现以减慢该过程为止。我在不同的项目中使用了各种购物车(Magento,Opencart,Zencart),我们必须将它们与我们的核心Cakephp应用程序合并。通常,非常自定义的要求使购物车不可升级,并且花费大量时间。 我正在考虑从头开始制作我们自己的购物车(目前还很基本,并且我们会不断扩展),以便它可以轻松地适应自定义要求。这值得吗? 更新11年8月24日 我继续开发自己的购物车。这是我想与大家分享的经验。 好处 新的购物车易于更改和扩展。 当我们有模糊或自定义要求时,它可以节省时间,并允许我们直接从现有代码库中导入模块。 购物车和自定义网站无需双重模板实​​施。 我们的购物车和自定义网站的单一管理面板。 局限性 在市场上的其他手推车上还不够成熟。 安全问题。我们主要依靠cakephp安全性。 缺乏功能 面临的问题 开发运输/付款网关是真正的难题。正如@davidhaskins指出的 它为我们节省了大量时间,我们可能花了很多时间来破解标准购物车来满足我们的需求

3
BDD:入门
我从BDD开始,这是我的故事: Feature: Months and days to days In order to see months and days as days As a date conversion fan I need a webpage where users can enter days and months and convert them to days. 我有些疑惑 ... 我应该在编写任何代码之前先编写脚本还是先编写脚本然后编写代码,再编写脚本然后再编写代码,等等...? 如果我应该之前编写方案,是否可以批准我的步骤并且仍然无法完成生产代码? 什么时候应该对代码进行重构?完成该功能之后还是在每个方案实施之后?


2
桌面应用程序的UI自动化模式和最佳实践
背景 我目前正在针对MS Office插件自动化一些测试。我们将在VS 2010中创建编码的UI测试。我想我可以使用“ 编码的UI测试生成器 ”工具,但它实际上并不适合我的特定情况。 因此,我为每个UI控件/映射创建了自己的UI Map类和扩展方法,在其中添加了不同的操作功能。例如,按下按钮或声明一些UI值。 测试用例的场景在测试类中。 我是这个领域的新手,也是自动化测试员的新手。 问题 人们是否愿意从编程/设计的角度分享经验和对台式机应用程序测试自动化的一些好的实践建议?

11
我的同事是否应该互相检查源代码控制系统中的代码?
这就是我的故事:我的一位同事用来查看托管到修订系统的所有代码。我并不是说要对他所属零件的变化进行适当的审查。他逐行观看代码文件。每个新文件和每个修改的文件。我感觉就像被监视! 我的猜测是,如果代码已经托管在控制系统中,则至少应该相信它是可行的。我的问题是,也许我太偏执狂了,检查彼此的代码的做法是否很好? PS:我们的团队只有三个开发人员,我担心如果会有更多的开发人员,同事将没有时间审查我们将编写的所有代码。

1
基于字素的字符串类?
我想知道为什么我们没有一些代表Unicode字形簇的字符串而不是代码点或字符的字符串类。在我看来,在大多数应用程序中,程序员在需要时访问字形的组件比必须从代码点组织它们更容易,即使只是为了避免随意地破坏“中间字形”中的字符串,这似乎也是必要的(至少在理论上)。在内部,字符串类可能使用可变长度的编码,例如UTF-8,UTF-16,或者在这种情况下,甚至UTF-32都是可变长度的。或为所有这些子类实现子类(并可以选择在运行时配置选择,以便不同的语言可以使用它们的最佳编码)。但是,如果程序员在检查字符串时可以“看到”字素单元,就不会

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.