问题标签 [code-organization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
7573 浏览

php - 组织 PHP 网站应用程序的好方法是什么?

在做大型项目时,我的代码似乎到处都是。你们是如何组织代码的?

0 投票
4 回答
674 浏览

php - 如何为不同的“移动设备界面”和“桌面界面”组织代码

我正在计划一个 Web 应用程序。我正在使用带有 Smarty 的 PHP 框架 Kohana。我的 Web 应用程序也将具有移动设备界面。现在,这两个接口将有很多通用代码和很多单独代码。

我应该如何组织代码以便:

  1. 没有重复的代码。
  2. 不需要的代码不会被加载。例如,桌面 UI 特定代码不应加载到 iPhone 界面中,反之亦然。
0 投票
1 回答
5978 浏览

sql-server - 使用 sql management studio 组织存储过程、视图、函数等

我正在使用 Microsoft SQL Server Management Studio 来处理数据库。我只是一个 .Net 开发人员,在管理 sql server 方面经验有限,离真正的 DBA 还很远。在接下来的几天里,存储过程的数量将会增加很多。还将创建更多视图和功能。

有没有办法在文件夹中组织这些元素?我不想在同一个文件夹下有几十个 SP。维护起来会很痛苦。

当然,我知道使用命名约定会对我有所帮助,但我还能做些什么吗?

谢谢。

0 投票
4 回答
233 浏览

java - 可以将我的公共接口放入他们自己的包中

将我的公共接口放入他们自己的包中是否可以(仅适用于我的组织)。

例如

这是好事还是坏事,有什么坏处吗?

0 投票
4 回答
4689 浏览

c - 我在哪里把所有这些类似函数的#defines放在C中?

我正在使用嵌入式系统,最终得到了大量的硬件接口#define宏。我想将所有这些都放入一个单独的文件中(用于 OOP-ness),但我不知道最好的方法#include。我是否只是将它们全部放入 .c 文件中,然后将其包含在内?将这些放在 .h 文件中似乎很愚蠢。

0 投票
4 回答
7982 浏览

javascript - 您将如何组织大型复杂的 Web 应用程序(参见基本示例)?

只是为了让事情变得有趣并结束我的最后一个未解决的问题,以良好组织方式和体面的架构实现以下功能的解决方案获得了丰厚的回报。完整的代码在 jsfiddle 上,有任何问题都可以问:)

您通常如何组织在客户端非常丰富的复杂 Web 应用程序。我创建了一个人为的示例来说明如果大型应用程序管理不善,很容易陷入混乱。随意修改/扩展此示例 - http://jsfiddle.net/NHyLC/1/

该示例基本上反映了在 SO 上发布的部分评论,并遵循以下规则:

  1. 在将多个空格修剪为一个之后,必须至少包含 15 个字符。
  2. 如果Add Comment单击 ,但删除多个空格后大小小于 15,则显示带有错误的弹出窗口。
  3. 指示剩余的字符数量并用颜色编码进行总结。灰色表示小评论,棕色表示中等评论,橙色表示大评论,红色表示评论溢出。
  4. 每 15 秒只能提交一条评论。如果过早提交评论,则显示带有适当错误消息的弹出窗口。

我在这个例子中注意到了几个问题。

  • 理想情况下,这应该是一个小部件或某种打包的功能。
  • 每 15 秒的评论和最少 15 个字符的评论等内容属于某些应用程序范围的策略,而不是嵌入到每个小部件中。
  • 硬编码值太多。
  • 没有代码组织。模型、视图、控制器都捆绑在一起。并不是说 MVC 是组织富客户端 Web 应用程序的唯一方法,但本示例中没有。

你会怎么清理这个?沿途应用一点 MVC/MVP?

下面是一些相关的函数,但如果你在 jsfiddle 上看到了整个代码,它会更有意义:

编辑1:

@matpol 感谢您对包装器对象和插件的建议。这将是对现有混乱局面的重大改进。但是,该插件不是独立的,正如我所提到的,它将是一个更大的复杂应用程序的一部分。客户端/服务器端的应用程序范围的策略将规定评论的最小/最大长度、用户评论的频率等。当然,插件可以将此信息作为参数提供。

此外,对于富客户端应用程序,数据必须与其 html 表示分离,因为可以节省许多服务器往返行程,因为应用程序是数据感知的,并且可以将内容存储在本地,并在服务器上定期更新,或者应用程序本身的有趣事件(例如当窗口关闭时)。这就是我不太喜欢插件方法的原因。它可以像提供打包的表示一样工作,但它仍然以 DOM 为中心,当应用程序中有 20 个这样的插件时,这将是一个问题,这无论如何都不是一个荒谬的数字。

0 投票
4 回答
461 浏览

version-control - 我应该使用多少个存储库来在版本控制下维护我的脚本?

我主要为自己编写小程序,但最近,我开始为团队中的同事编写代码。为此,我开始使用 Mercurial 存储库以某种形式的版本控制(特别是 Windows 上的 Tortoise-Hg)维护我的代码。我有许多小脚本,每个都在自己的目录中,都在一个存储库下。然而,在阅读Joel 的 Hg 教程时,我尝试为我的一个更大的脚本克隆一个目录以创建一个“稳定”版本,但我发现我做不到,因为该目录本身不是存储库。

所以,我假设(如果我弄错了,请纠正我)为了正确使用克隆,我必须为每个脚本/目录创建一个存储库。但是..这是一个“好主意”还是等待发生的未来维护噩梦?

简而言之,我是将所有(不相关的)脚本保存在一个存储库中,还是应该为每个脚本创建一个存储库?还是一些未知的第三种选择?

0 投票
3 回答
2173 浏览

asp.net-mvc - 是否有针对 ASP.NET MVC 生产应用程序的建议解决方案结构

通常,我不喜欢将代码(BaseClasses 或 DataAccess 代码)保留在 ASP.NET 站点的 App_Code 目录中。我通常会将这些东西分别放入 MySite.BusinessLogic 和 MySite.DataAccess DLL 中。

我想知道我是否应该为 ASP.NET MVC 做同样的事情。

按照以下方式组织解决方案会更好吗

  • MySite.Common - DLL -(基于 .NET 系统 Dll 构建的基本功能)
  • MySite.DAL - DLL - (DataAccessLayer & DBML 文件)
  • MySite.Models - DLL -(MVC 模型,例如存储库类)
  • MySite.Controllers - DLL(使用模型的 MVC 控制器)
  • MySite - ASP.NET MVC 站点。

或者我错过了什么......大概,我会失去一些好的(添加视图、转到控制器、已添加的上下文菜单项)

0 投票
4 回答
6904 浏览

matlab - 组织 MATLAB 类的最佳方式?

MATLAB 有两种组织类的方法:

@-目录:

单个文件:

第一种风格在新classdef语法之前存在,但似乎是一种更有条理的做事方式。第二种样式(单个文件中的所有内容)是新的。

您使用哪种方法,为什么?

0 投票
1 回答
295 浏览

project-management - 组织代码,分段文件的逻辑布局

我对编程的了解已经足够让我陷入麻烦了大约 10 年。我没有受过正规教育,尽管我读过很多关于这个主题的各种语言的书籍。我现在主要关注的语言是 PHP,至少就我现在所做的事情的规模而言。

我使用了一些 OOP 类有一段时间了,但从未深入了解幕后的原理。我还没有达到我想要的表达水平,但是我最近阅读了The OOP Thought Process这本书让我想要提高我的编程技能。

有了新概念的动力,我开始了一个新项目。我编写了一些可重用的类来处理用户身份验证、用户配置文件、数据库接口以及我在大多数项目中经常使用的其他一些东西。

现在已经将我典型的乱码意大利面条碗混乱的代码拆分成一些有组织的文件,在确保文件在需要时全部包含在内,如何在逻辑上将脚本划分为类时,我遇到了一些问题,以及我应该如何划分每节课。

我真正需要的是建议或建议阅读,而不是关注特定的功能和代码格式,而是关注不仅仅是一个爱好项目的项目的逻辑布局。

我想学习如何正确地做事,虽然我还在某些领域学习,但除了创造性和试错之外,我对此一无所知。主要是错误。

感谢您的任何回复。这个地方很棒。