标签: coding-style

使用空父类只是为了分组其他类.有更好的方法吗?

我有几个概念上属于一个层的类.它们没有共同的属性,这就是为什么它们不需要从某个基类继承.

我也有一些方法来处理这些类.其中一些是以下样式的模板:

public SomeClass
{
    public void SomeMethod<T> (T argument) where T : BaseClass
    {
        /* Do something */
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我使用这个WHERE关键字只是为了保护代码(我想我自己),所以我不会错误地将这个方法提供给其他东西.

当然,我让其他类派生自BaseClass,它是空的,没有其他目的(至少现在),而不是分组其他类.

这可能不是那么好的方法,但无论如何我正在使用它.

有一个更好的方法吗?

编辑:经过考虑我决定不采用这种方法,只是删除了基类.没有它就足够了.无论如何,我无法使代码绝对完美,而且越少越不需要的东西越好.

c# oop coding-style

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

编写容易修改的代码

有哪些方法可以编写容易修改的代码?

我从经验中学到的一点是,我几乎总是需要写一个扔掉.这样我就可以在编写实际应用程序之前了解所需的领域知识和程序结构.

programming-languages coding-style dry

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

你在哪里添加新方法?

当你向一个类添加一个新方法时,你把它放在哪里?在课程结束时...顶部?你是否将方法组织成特定的分组?按字母顺序排序?

只是寻找保持课程方法组织的一般做法.

更新分组时,在组中添加新方法的位置?只是结束或你使用某种子分组,排序?

更新2嗯......猜猜问题不像我想的那么清楚.我不是在寻找班级组织.我特别感兴趣的是为现有的类添加一个新方法.例如:

public class Attendant
{
    public void GetDrinks(){}
    public void WelcomeGuests(){}
    public void PickUpTrask(){}
    public void StrapIn(){}
}
Run Code Online (Sandbox Code Playgroud)

现在我们要添加一个新方法PrepareForCrash().它去哪儿了?在列表的顶部,底部,按字母顺序或靠近StrapIn()方法,因为它是相关的.

coding-style

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

微软编码风格问题

我必须找出一种方法来问这不是主观的,所以这是专门针对微软的编码风格.在ASP.NET MVC源代码中,代码文件如下所示:

// Copyright info

namespace System.Web.Mvc {
    using System;

    // blah blah
    // ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,'使用System'与命名空间很好地对齐.如果我要将这种风格应用到我公司的代码中,我是否应该在我的公司名称空间中直接放置"使用"语句(以便它排成一行)?当我在顶部放置'using'声明时,我通常首先从.NET命名空间开始,所以这就是我不确定的原因.例如,我应该这样做:

namespace MyCompany.MyProduct.Something {
    using System;
    using MyCompany.MyProduct.SomethingElse;
}
Run Code Online (Sandbox Code Playgroud)

或这个:

namespace MyCompany.MyProduct.Something {
    using MyCompany.MyProduct.SomethingElse;
    using System; 
}
Run Code Online (Sandbox Code Playgroud)

我很想接受后者.

c# coding-style

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

是否存在Java的"行规则"的编码约定

我喜欢组织我的Java文件,并想知道是否有一种标准的方法.例如:

public class Example
{
    private int exampleInt;
    private String exampleString;

    /*------------------------------------------------------------*/
    /* I N N E R   C L A S S E S                                  */
    /*------------------------------------------------------------*/
    private someInnerClass 
    {
            someInnerClass()
            {
            }
    }
    /*------------------------------------------------------------*/

    /**
    * This method returns the example int.
    */
    public int getExampleInt() {
            return exampleInt;
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有什么可以称之为我有某种评论的部分/ -------------------------------- --------------------------------- /这种事情有什么样的惯例吗?或者这是我应该做的事情,因为大多数IDE会在某种大纲视图中很好地展示你的一切?

java coding-style

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

C#中私有类常量的标准应该是什么?

对于那些在C#中使用下划线前缀用于私有类成员的人(即private int _count;),你对私有常量使用了什么?我正在考虑以下内容,但我很好奇其他人在做什么.

private const int _MaxCount;
Run Code Online (Sandbox Code Playgroud)

c# coding-style

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

使用javascript更改后,IE不会在元素显示中呈现更改

情况:

我有一个复选框和另一个div容器内的div容器.单击复选框或复选框的标签时,内部div的显示样式应更改.如果显示设置为阻止,则应更改为无,反之亦然.

码:

HTML:

<input id="oper_sale" type="checkbox" name="oper_sale" onchange="show_hide_operation(this, 'sale_block');">
<label for="oper_sale" class="public">Venta:</label>
   <div id="sale_block" name="sale_block" style="display: none;">
         AAAAAAA
   </div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

// Show or hide parts of a form
function show_hide_operation (oper_choice, oper_block_id) {
    var oper_block = document.getElementById(oper_block_id);
    if (oper_choice.checked == true)
        oper_block.style.display = "block";
    else
        oper_block.style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)

问题:

这在Firefox中运行良好,但在IE中却没有.当我单击复选框或其标签时,没有任何反应.但是,如果我在单击复选框或其标签后单击屏幕上的任何其他位置,则更改会顺利发生.我点击它后点击复选框但它没有帮助.

简而言之:

在用户单击屏幕的不同部分之前,IE不会呈现显示样式的更改,而不是调用java脚本来更改样式

非常欢迎任何帮助

javascript coding-style dynamic

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

如果所有这些操作都必须发生,那么在一行中编写一组操作是否有任何优势?

从编译后的角度(而不是编码语法的角度来看),在C#中,在一行中发生的一组操作与多行中发生的一组操作之间的编译代码是否存在实际差异?

这个

object anObject = new object();
anObject = this.FindName("rec"+keyPlayed.ToString());
Rectangle aRectangle = new Rectangle();
aRectangle = (Rectangle)anObject;
Run Code Online (Sandbox Code Playgroud)

vs这个.

Rectangle aRectangle = (Rectangle)this.FindName("rec"+keyPlayed.ToString());
Run Code Online (Sandbox Code Playgroud)

我想知道,因为似乎有一种观点认为使用的线路数量最少,但是我想了解这是因为有一个切实的技术效益,或者是否在某些方面带来了实实在在的利益,或者是否确实存在一个可量化的原因?

c# compiler-construction optimization coding-style

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

如何以专业的方式编码?

我想知道,如何以完美的专业风格编写程序.很多时候我们编写了一个非常好的程序/代码来提供准确的输出.一个人可能会使用最好的算法来解决给定的问题.

但对于正在阅读您的代码以供他/她参考的人,由于不正确使用变量/函数名称而变得难以理解代码.(以及许多其他问题)

那么如何以专业的方式实现编写代码的完美性呢?

您可以直接编辑以下代码来详细说明您的想法. (不要编辑问题中的代码:)

您也可以以专业的方式在最后重写完整的代码.将会提供很多帮助.

(C中的简单堆排序算法)

#include<stdio.h>
#include<conio.h>

void insert(int i);
void swap(int *,int *);
void heap_sort(int);

int a[20];

void main()

{

        int n,i;
     clrscr();

     printf("Enter the no of elements : ");
     scanf("%d",&n);
     printf("\nEnter the elements : \n");
     for(i=0;i<n;i++)
     scanf("%d",&a[i]);
     heap_sort(n);
     printf("\nSorted array is : \n");
     for(i=0;i<n;i++)
     printf("\t%d",a[i]);
     getch();
}


void swap(int *p,int *q)
{

     int temp;
     temp=*p;
     *p=*q;
     *q=temp;

}


void heap_sort(int n)
{

     int x=1,i;
     while(x<n)
         {
   for(i=1;i<=n-x;i++)
   insert(i);
   swap(&a[0],&a[n-x]);
   x++;
         }
}



void insert(int i)
{ …
Run Code Online (Sandbox Code Playgroud)

coding-style

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

Excel-VBA:变量名称,匈牙利表示法和变量命名最佳实践

当我在Excel-VBA中编程时,我使用匈牙利表示法.工作表变量以ws开头,工作簿变量以wb开头等.

当我使用整数时,我总是使用longs,因为在过去我已经超过了整数的最大值,并且需要一段时间才能找到错误 - 更容易让所有东西变长,而不是试图找出如果变量的值有可能超过32768.

是否可以用前导i而不是l来表示这些变量,因为我将它们用作整数,即:

dim iStart as long, iEnd as long
Run Code Online (Sandbox Code Playgroud)

代替

dim lStart as long, lEnd as long
Run Code Online (Sandbox Code Playgroud)

当变量保存某个数量时,我用n表示它,即使它持有一个长的.

dim nObjects as long, nPlots as long
Run Code Online (Sandbox Code Playgroud)

您对VBA最容易阅读哪种符号的体验是什么?

vba coding-style naming-conventions hungarian-notation excel-vba

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