为了让事情变得有趣并且关闭我最后的开放式问题,以一种合理的架构以良好的组织方式实现以下功能的解决方案获得了很好的赏金.完整的代码是在jsfiddle,随时问任何问题:)
您通常如何组织客户端极其丰富的复杂Web应用程序.我已经创建了一个人为的例子来表明如果对于大型应用程序来说管理不好的话,它很容易陷入混乱状态.随意修改/扩展此示例 - http://jsfiddle.net/NHyLC/1/
该示例基本上反映了SO上的评论发布部分,并遵循以下规则:
Add Comment单击,但在删除多个空格后大小小于15,则显示带有错误的弹出窗口.我在这个例子中注意到了几个问题.
你会如何清理它?沿途应用一点MVC/MVP?
这里有一些相关的函数,但如果你在jsfiddle上看到整个代码会更有意义:
/**
* Handle comment change.
* Update character count.
* Indicate progress
*/
function handleCommentUpdate(comment) {
var status = $('.comment-status');
status.text(getStatusText(comment));
status.removeClass('mild spicy hot sizzling');
status.addClass(getStatusClass(comment));
}
/**
* Is the comment valid for submission
* But first, check if it's all good.
*/
function commentSubmittable(comment) {
var notTooSoon = !isTooSoon();
var notEmpty = !isEmpty(comment);
var hasEnoughCharacters = !isTooShort(comment);
return notTooSoon …Run Code Online (Sandbox Code Playgroud) javascript design-patterns web-applications code-organization
MATLAB有两种组织类的方法:
@ -directories:
@ClassName\
ClassName.m
Method1.m
Method2.m
单个文件:
ClassName.m:
classdef ClassName
methods
% all methods included here
end
end
第一种风格在新classdef语法之前就存在了,但似乎是一种更有条理的做事方式.第二种风格(单个文件中的所有内容)都是新的.
你使用哪种方法,为什么?
我们有一个大约16岁的软件包.几乎每个版本的Delphi(除了.NET版本)都经历过.多年来,当涉及到交叉引用并为其他软件包(如第三方库)保持正确设置时,事情变得非常混乱.我想知道在保持像这样有组织的大项目(和项目组)方面是否有一些标准做法.
那么解释当前的设置......
这是一个多应用系统.意思是,涉及12个可执行项目(以及一些DLL和服务项目).我们还将事物保存在SourceSafe中,并且多个开发人员在不同的计算机上处理相同的代码.所有这些项目都被更多地转移到中央文件夹中."根"文件夹中包含的主要EXE项目(约20个文件夹,所有含单位和形式沿),它似乎像文件夹和文件的无尽层次.仅此一个项目就涉及50万行代码.
然后,所有其他应用程序不一定与该主要项目正确分开.这些项目中的每一个都有自己的主文件夹根目录.
我的两个主要问题是:
所有这4个库都存储在每台计算机的完全不同的位置,需要一些集中化.设置每个新开发人员计算机的最大痛苦是从主要开发人员的计算机中找到它们并将它们复制到另一台计算机上的相同位置(并确保库路径正确等).
我们还需要在同一台计算机上为不同版本的Delphi保留完全独立的环境.这意味着每台计算机上的项目副本,每台计算机上的软件包和库的副本,SourceSafe中项目和软件包和库的副本等.每台计算机都需要具有相同的设置.我们已经利用环境变量来指导我们的项目在哪里寻找某些项目文件(和库).
另一个新问题:XE2引入了64位功能.我们不打算在64位编译还,但我们肯定会在未来.如何在所有这些项目中正确区分32位和64位?
我真正要求的是参考一个关于如何优化这样的环境并使其组织最佳的良好教程.我不希望任何人花时间在问题中回答这一切.这些项目已超过15年,拥有来自世界各地的200多名开发人员,并且项目之间有很多交叉引用.例如,一个项目可能使用另一个项目的单位,反之亦然.我个人不喜欢这个概念,但我也没有设计它.我被赋予了使这个系统井井有条的任务,并详细记录了如何在新计算机上设置Delphi以便新开发人员处理我们的项目.当我正在查看我们的项目时(因为我不一定是系统的开发人员,但我正在开发中),我看到代码组织方式存在很多困惑.
我假设Embarcadero可能有一些关于建立这样一个环境的指导方针和标准吗?
delphi development-environment visual-sourcesafe code-organization delphi-xe2
可能重复:
Python单元测试在哪里?
单元测试是保存在与代码相同的文件中,同一目录中的单独文件还是完全不同的目录中?
我仍然围绕import声明.如果我在同一级别有2个文件夹:
如何py在test导入模块的文件中src?有没有更好的解决方案(比如将文件夹放在另一个文件夹中?)
我们有一个基于旧的jdk 1.4的庞大项目.我们已将Web应用程序迁移到JDK 1.6,但代码中仍然存在大量低效的实践和糟糕的设计.
关于主要的痛点点巨大的java类在单个java文件中有2500多行代码.这么多文件都是这样的.
试图通过删除常量并将常量放在不同的Constants.java文件中来重构我开始的类.但由于整个应用程序中有很多常量,因此常量文件存在增长到巨大比例的风险.
我希望得到关于开发人员采用什么策略来保持代码清洁和可维护性的反馈.
我将在新的J2EE Web应用程序上使用Subversion进行源代码控制.您建议使用什么目录结构来组织代码,测试和文档?
您能否推荐我应该阅读/学习什么才能在C中制作组织良好的代码?
我想要学习的一件事是在.h和.c文件中拆分项目的原则,在哪里和为什么,变量命名,何时使用全局变量...
我对处理这个特定问题的书籍和文章很感兴趣.
在Python开发环境中组织属于同一项目的代码的最佳方法是什么?Python项目组织的工作和做法是什么?你是否将文件中的每个类分开?
Project A
Classes
"subsystem1"
class1
class2
subsystem1Module
"subsystem2"
"utils"
"etc"
Tests
Whatever
etc?
Run Code Online (Sandbox Code Playgroud)
有什么建议?哦,请描述每种类型组织的(可能)问题.
什么是组织Python代码的最佳实践?
可以将文件添加到位于不同目录中的visual studio项目中,但是将文件保留在这些目录中并在更新项目中的文件时更新这些文件?当我将现有文件添加到项目时,它所做的就是将它们复制到项目中,然后更新复制的文件,而不是原始文件.有没有办法让它以其他方式工作?
python ×3
java ×2
organization ×2
c ×1
c# ×1
coding-style ×1
constants ×1
delphi ×1
delphi-xe2 ×1
directory ×1
import ×1
java-ee ×1
javascript ×1
matlab ×1
matlab-class ×1
oop ×1
svn ×1
unit-testing ×1