标签: code-organization

在C中定义const值

我有一个C项目,其中所有代码都组织在*.c/ *.h文件对中,我需要在一个文件中定义一个常量值,但也可以在其他文件中使用.我该如何声明和定义这个值?

它应该static const ...*.h文件中吗?如extern const ...*.h文件中并在*.c文件中定义?以何种方式,没关系吧的价值是不是原始数据类型(int,double,等),但char *还是struct?(虽然在我的情况下是一个double.)

*.h文件中定义内容通常不是一个好主意; 一个人应该在*.h文件中声明事物,但在*.c文件中定义它们.但是,这种extern const ...方法似乎效率低下,因为编译器无法内联该值,而是必须始终通过其地址进行访问.

我想这个问题的实质是:是否应该在C static const ...中的*.h文件中定义值,以便在更多的位置使用它们?

c const constants code-organization header-files

5
推荐指数
1
解决办法
1万
查看次数

在Visual Studio中CSS/javascript的Vim样式折叠

有人知道在Visual Studio中使用VIM样式折叠的方法吗?我在c#类文件中使用了#region块,它们很棒,但遗憾的是javascript和css没有相同的功能.我目前正在研究的网站/应用程序有很多css选择器和javascript,导航整体文件变得越来越困难.

我们考虑过的一个选择是将css和javascript分解为类似于jquery模块的单独文件,但是这会在增加http请求的总数方面引入性能问题.

如果有人有任何管理疯狂的建议,我将非常感激!

更新:Richard Kimber建议使用 visual studio 的书签功能,使标题导航更易于管理.这是朝着正确方向迈出的一步,但没有代码折叠/阻塞那么有用.

javascript css code-organization visual-studio

5
推荐指数
1
解决办法
1484
查看次数

是不是可以将JavaScript与HTML分开?

具体来说,我在谈论避免这种类型的代码:

<input type='text' id='title_33' class='title'
  onfocus='updateCharsLeft(33);' 
  onkeypress='updateCharsLeft(33);' />
Run Code Online (Sandbox Code Playgroud)

在这里,我想分别放置onfocusonkeypress事件句柄,即在.js文件中.像这样:

$(document).ready(function()
  {
    $(".title").focus(updateCharsLeft);
    $(".title").keypress(updateCharsLeft);
);
Run Code Online (Sandbox Code Playgroud)

但是问题是文本框的ID需要传递给函数updateCharsLeft().如果必须从该函数中的文本框的ID中提取出id,那么在HTML代码中放入事件处理程序实际上会更加清晰.

思考?

javascript jquery code-organization

5
推荐指数
2
解决办法
1404
查看次数

如何更好地组织C++项目中的代码

我目前正在尝试以更好的方式组织我的代码.

为此,我使用了名称空间,按组件对类进行分组,每个组都有一个已定义的角色和一些接口(实际上是抽象类).

我发现它非常好,特别是当我不得不重写整个组件时,我对其他组件几乎没有影响.(我相信使用一堆混合类和方法会更加困难)

然而,我并不是百分之百满意.特别是我想在接口,组件的公共面以及后面的实现之间做更好的分离.我认为组件本身的"接口"应该更清晰,我的意思是新来者应该很容易理解他必须实现什么接口,他可以使用什么接口以及实现的哪些部分.

很快,我将开始一个涉及多达5个开发人员的更大项目,我想在这一点上明白我的想法.

那你呢?你怎么做呢?你如何组织你的代码?

c++ namespaces code-organization

5
推荐指数
1
解决办法
6413
查看次数

asp.net mvc2 - 主页和代码组织的控制器

我刚刚完成了我的第一个ASP.NET MVC(2)CMS.下一步是构建将显示CMS数据库中数据的网站.这是网站设计:

http://img56.imageshack.us/img56/4676/portal.gif http://img56.imageshack.us/img56/4676/portal.gif


#1(红框) - 显示文章类别.视图模型:

public class CategoriesDisplay
    {
        public CategoriesDisplay() { }

        public int CategoryID { set; get; }
        public string CategoryTitle { set; get; }
    }
Run Code Online (Sandbox Code Playgroud)

#2(布朗框) - 显示最后x篇文章; 从绿箱#3中跳过那些.视图模型:

public class ArticleDisplay
    {
        public ArticleDisplay() { }

        public int CategoryID { set; get; }
        public string CategoryTitle { set; get; }

        public int ArticleID { set; get; }

        public string ArticleTitle { set; get; }
        public string URLArticleTitle { set; get; }
        public DateTime ArticleDate; …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc code-organization

5
推荐指数
1
解决办法
4550
查看次数

JavaScript代码组织建议/代码审查

  1. 我正在一个拥有大量自定义(特定于页面的js)的大型网站上工作.有一个main.js和page-specific.js文件.有没有更好的方法可以使用以下模式?

  2. 如何重新考虑使用ajax的多个方法?

  3. 我目前在线分配所有onclick事件,例如onclick ="MYSITE.message.send ... - 它有更好的方法吗?创建多个$("#button").click(function(){});似乎更多的工作...

    var MYSITE = MYSITE ? MYSITE: {};
    var MYSITE {  
    bookmark: {
        add: function(contentId, userId) {  
            var data = {  
                contentId: contentId,  
                userId: userId  
            };  
            $.ajax({  
                url: "/rest/bookmarks/",  
                type: "post",  
                data: data,  
                complete: function(response) {  
                    if (response.error) {  
                        alert(response.error);  
                    } else {  
                        alert("success");  
                    }  
                }  
            });  
        }  
    },  
    message: {  
        /* <a onclick="MYSITE.message.send('1234', '1234');" href="javascript:void(0);">BOOKMARK</a> */  
        send: function(contentId, userId) {  
            var data = {  
                contentId: contentId,  
                userId: userId  
            };  
            $.ajax({ …
    Run Code Online (Sandbox Code Playgroud)

javascript jquery design-patterns code-organization

5
推荐指数
1
解决办法
476
查看次数

如何组织GUI代码(用于PyQt)?

我正在寻找类似于组织GUI代码的东西 ,但是对于Python和PyQt4.特别是,我正在查看如何处理和存储配置数据,一般状态等的提示和示例.

编辑:我已经找到了一些关于旧版本的提示:http://www.commandprompt.com/community/pyqt/

python code-organization pyqt4

5
推荐指数
1
解决办法
2986
查看次数

开发人员的良好文件组织建议

我正在努力与文件夹组织一起组织我工作的许多项目.我在OS X上工作 - 现在我使用〜/ Development /作为根文件夹,我有很多类型的项目.例如,我在〜/ Development/Xcode下有我的iPhone应用程序

我使用多种语言开发,从PHP到Ruby,再到Python,再到Objective-C.所以,例如,我可能有几个基于PHP的开源应用程序,我在使用Zend框架.其中一些项目是针对客户的,另一些是学习新语言或一般实验时的测试/实验.

我真的很感兴趣的是其他开发人员如何组织代码/项目,并且可以传递一些建议,以便很容易地浏览与许多语言和项目类型相关的代码/项目.

code-organization

5
推荐指数
1
解决办法
1784
查看次数

如何在模型设定器内使用Symfony 2中的编码器工厂?

关于Symfony 2.1的这个问题

如何编码用户密码:

$factory = $this->get('security.encoder_factory');
$user = new Acme\UserBundle\Entity\User();

$encoder = $factory->getEncoder($user);
$password = $encoder->encodePassword('ryanpass', $user->getSalt());
$user->setPassword($password);
Run Code Online (Sandbox Code Playgroud)

和基础配置:

# app/config/security.yml
security:
    # ...

    encoders:
        Acme\UserBundle\Entity\User: sha512
Run Code Online (Sandbox Code Playgroud)

在setter模型中:

class User implements UserInterface, \Serializable
{
    public function setPassword($password)
    {
       $this->password = $password;
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为加密密码的过程必须按模型处理.如何在模型中使用标准编码器工厂?

code-organization models symfony

5
推荐指数
2
解决办法
1万
查看次数

Laravel 5 - 在哪里放置可重复使用的自定义验证器?

我想知道我想在多个地方使用的自定义验证器的正确位置在哪里?

例如,我有min_image_size验证器:

Validator::extend('min_image_size', function($attribute, $value, $parameters) {
    $imageSize = getimagesize($value->getPathname());
    return ($imageSize[0] >= $parameters[0] && $imageSize[1] >= $parameters[1]);
});
Run Code Online (Sandbox Code Playgroud)

我应该在哪里按照Laravel-way的方式放置它?

php code-organization laravel laravel-5 laravel-validation

5
推荐指数
1
解决办法
723
查看次数