我正在使用一些写得不好的CSS,至少可以说.我不是设计/ CSS专家,但我至少理解CSS中的C语言.虽然VS-2008内置的CSS支持比以前的版本有了很大的改进,但它仍然没有完全符合我的要求.
我想知道是否有人知道一个好的程序或实用程序,它将帮助我重构和清理我的CSS,就像ReSharper允许用C#做的那样.
一些很好的功能:
为什么默认情况下Visual Studio在重构代码和选择提取方法时会创建一个私有静态方法?
如果我正在重构一个非静态类,并且该方法只在类中可见,为什么它是静态的?
通过在非静态类中调用私有静态方法与非静态类中的非静态方法相比,是否有一些性能优势?
是否可读性只是简单地表明该方法不依赖于类的任何成员变量?
在我的C#代码中,我有一个非常开始的if语句:
if((something == -1) && (somethingelse == -1) && (etc == -1)) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
它正在增长.我认为现在必须有20个条款.
我应该怎么处理这个?
我正在处理一个大型代码库,它始终使用以下构造
class MyClass
{
public:
void f(int x);
private:
int x;
};
void MyClass::f(int x)
{
'
'
this->x = x;
'
'
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我总是使用,因此更喜欢这种形式
class MyClass
{
public:
void f(int x);
private:
int _x;
};
void MyClass::f(int x)
{
'
'
_x = x;
'
'
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢后者的原因是它更简洁(更少的代码=更少的潜在错误),并且我不喜欢在范围内同时拥有多个同名的变量,我可以避免它.也就是说,我现在越来越多地看到以前的用法.我不知道第二种方法有什么好处吗?(例如,对编译时的影响,使用模板化代码等等)两种方法的优点是否足够重要,另一方面是否重构?我要问的原因是,虽然我不喜欢代码中存在的第二种方法,但是引入更多错误的工作量和相关风险并不值得重构.
我是一名初级软件工程师,他接受了接管旧系统的任务.根据我的初步评估,该系统存在一些问题.
我该怎么做才能提高系统质量并解决这些问题?我可以考虑使用静态代码分析软件来解决任何不良编码实践.
但是,它无法检测到任何不良设计问题或问题.我该如何逐步解决这些问题?
我有一个看起来像这样的模型:
public class Person
{
public string PostalCode {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个剃刀的观点
@model MvcApp1.Person
Your location is: @Model.PostalCode
Run Code Online (Sandbox Code Playgroud)
当我使用Visual Studio的2010重命名重构(Ctrl + R,R)时,属性在模型类上重命名,但在视图中保持不变.
我的理解是,由于视图是强类型的,因此视图中也应该重命名.
我究竟做错了什么?
asp.net-mvc refactoring visual-studio-2010 strongly-typed-view razor
在Eclipse的"Package Explorer"中,假设我有一个这样的包列表:
如果我想重构这个包结构,那么最终的包结构就像
所以基本上删除父包并将子包附加到其祖父母.我在"com.animal"包中有很多子包,我想尽可能避免手动执行此操作,然后在各处更改包导入.
我只是回顾一些旧的代码(有一些空闲时间),我注意到一个相当冗长的switch语句.由于获得了新知识,我已经以下面的形式重构了它:
private Dictionary<string, Action> createView
{
get
{
return new Dictionary<string, Action>()
{
{"Standard", CreateStudySummaryView},
{"By Group", CreateStudySummaryByGroupView},
{"By Group/Time", CreateViewGroupByHour}
};
}
}
Run Code Online (Sandbox Code Playgroud)
你会考虑这个好习惯,还是仅仅是一个超级丰富和不必要的案例?我渴望确保我学到的新技术,仅仅为了它而不是聪明,并且它们实际上为代码增加了好处.
谢谢.
这个 StackOverflow问题给了我一些关于Rails i18n文件的良好结构的思考,所以我想我会分享另一个结构来重构Rails i18n yml文件供您考虑/批评.
鉴于我想
t('.some_translation')在我的视图中使用简写的"懒惰"查找,并且知道在应用程序中使用翻译的地方,对于config/locales/en.yml文件,看起来像这样:
activerecord:
attributes:
user:
email: Email
name: Name
password: Password
password_confirmation: Confirmation
models:
user: User
users:
fields:
email: Email
name: Name
password: Password
confirmation: Confirmation
sessions:
new:
email: Email
password: Password
Run Code Online (Sandbox Code Playgroud)
我可以看到存在重大的重复,并且诸如"电子邮件"和"密码"之类的词语的上下文是明确的并且在它们各自的视图中具有相同的含义.如果我决定将"电子邮件"更改为"电子邮件",那么必须去更改它们会有点烦人,所以我想重构字符串以引用某种字典.那么,如何使用&这样的锚点将字典哈希添加到文件的顶部:
dictionary:
email: &email Email
name: &name Name
password: &password Password
confirmation: &confirmation Confirmation
activerecord:
attributes:
user:
email: *email
name: *name
password: *password
password_confirmation: *confirmation
models:
user: User
users:
fields:
email: *email
name: *name …Run Code Online (Sandbox Code Playgroud) refactoring yaml structure ruby-on-rails internationalization
refactoring ×10
c# ×3
java ×2
structure ×2
asp.net ×1
asp.net-mvc ×1
c++ ×1
css ×1
eclipse ×1
guard-clause ×1
if-statement ×1
legacy-code ×1
packages ×1
polymorphism ×1
razor ×1
this ×1
yaml ×1