我刚刚在C#/ Silverlight中创建了我的第一个主要应用程序.最后,总行数超过12,000行代码.考虑到这是一个php/javascript应用程序的重写,我创建了2年,超过28,000行,我实际上为我的成就感到自豪.
在stackoverflow和其他网站上阅读了很多问题和答案之后,我遵循了许多海报的建议:我创建了一些课程,程序,以及我一年前复制和粘贴的东西; 我创建了逻辑图表以找出复杂的功能; 确保没有疯狂的隐藏字符(使用标签代替空格); 和其他一些事情; 必要时发表评论(我有很多评论).
我的应用程序包含4个水平布局的图块,用户控件加载到每个图块中.您可以随时加载一到四个切片.如果你有一次切片加载,切片占用整个画板...如果你有2个加载,每个占用一半,3个三分之一,4个四分之一.
这些切片中的每一个代表(为了该示例)光控制.每个切片中都有3个滑块控件.现在,当我编写滑块的功能时,我在公共函数内部使用了一个switch/case语句,该语句将在指定的切片/滑块上运行命令.这使得一些重复的代码,但我看不到它,因为每个切片的命名不同.所以我会做slice1.my.commands(); slice2.my.commands(); 等等
我的问题是如何进一步清理我的代码?(可悲的是我无法发布任何代码).有没有办法从我的代码中取消这个重复?
rou*_*tic 11
你需要的是与你的朋友的战略模式的接口.例如:
public interface ISlice
{
public Slider Slide {get;set;}
}
public class Slice1 : ISlice
{
public Slider Slide { get; set; }
}
public static class SliceSlider
{
public static void DoSomethingCoolWithTheSliceSlide(ISlice slice)
{
slice.Slide.LookitMeIAmLearningDesignPatterns();
}
}
Run Code Online (Sandbox Code Playgroud)
编写更少的代码不应该是您的目标.最后,所有关于TCO(总体拥有成本).
虽然拥有更少的代码可以提高TCO,但有一个因素会对TCO产生更大的影响:可维护性.您应该编写最易维护的代码.首先阅读罗伯特马丁的清洁代码.
更新:
你也说"我有很多评论".这是您可以改进代码的一个方面.正如您将从Martin的书中学到的那样,好的代码几乎不需要任何评论.马丁说"评论是谎言"和"应保留用于代码和设计的技术说明".
更新2:
当我添加它时,这是罗伯特·马丁的书中我最喜欢的引用:
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |