如何理解编程思想?
如何理解编程思想? 各位大神介绍东西啊 。。做项目 看书 看什么书? 看视频什么的看什么类型的 ?
还有如何在没参加工作的情况下 增加点工作上的见识。。。
------解决方案--------------------最近思想上遇到瓶颈,去学了几个月的python,很多.NET设计思想方面,顿悟了。真奇怪
------解决方案--------------------看数据结构和设计模式,两个看完和开发人员就有共同语言了,
然后光看书通常没用,要做几个项目,会有更深的体会,
视频没用不用看,
------解决方案--------------------看别人的程序也可以,用断点单步跟踪方法浏览一次解决问题的过程,会很有帮助,
------解决方案--------------------很难说什么叫做思想,关键是从行动中获得而不是从书本上(网上文章上)获得更多的。举一个例子,假设你们的所有前端winform(或者silverlight)应用程序都需要访问公司的集中的生产(或者测试)服务器来通讯,那么你们的程序中可能有实现了这样一个接口的小程序
interface IClientGateWay
{
bool isTcpConnected();
Passport Passport { get; }
void Send<T,R>(T sendCommand, Action<R> commitCallback, Action timeoutCallback, Action<Exception> errorCallback);
R Send<T,R>(T sendCommand);
void UdpSend<T>(T sendCommand);
event Action<object> Notify;
}
这里的业务意义不是很重要,我简单说明一下:
.一个客户端网关,它在实例化时通过传送给它服务器地址,它会自动连接服务器,并且注册一个会话对象(Passport)。
. 客户端程序就可以通过网关对象,使用Send方法发送一个命令对象(类型为T),这个方法异步回调返回一个服务器端推送的结果对象(类型为R)。通常客户端首先要发送给服务器一个“用户登录”命令。
. 这里的第二个Send方法是为那些不熟悉异步编程、也不很在乎效率的开发人员使用的,是调用了第一个Send并且使用阻塞模式来实现的。
. 运行中,如果服务器端有推送给当前会话的任何消息对象,就会使用事件 Notify 抛出来。
. 额外地支持一个UdpSend方法,使用Udp方式发送命令对象,没有返回,并且也不保证能到达服务器。
这里的业务不重要,关键是这封装了有关通讯的所有东西。这也就是100~200行代码(不包括命令和数据实体的定义类,那些定义都是异常简单的,没有任何执行代码)。
这可能找一个人花上3天或者5天的时间写完,然后就放到程序里边了。其它人都可以直接使用它。当然写这个实现代码时要借助好几个测试用例,并且这个代码被大多数业务操作程序都要调用,所以大多数其它的测试全都会反反复复地调用这个代码的各个部分,也就是会间接地测试它。
上面说了这么多,其实那些都是雕虫小技,这里才是所谓的“思想”:
1. 你的代码应该首先从简单设计出发,但是被其它许多代码所依赖,而不是相反。那些看似繁复的代码、时髦的代码,往往只是“终端界面”,你可以华一点钱、让多份终端程序(或者页面)自己去“掐架”而去淘汰大部分终端。但是他们所共同依赖的代码则生命力更久一些。
2. 这类代码本质上不是某个人私有的,所有人都可以修改它。只要在提交修改之前运行过所有的测试都能通过就行,任何人就可以随时修改它。并不是说这类代码就扔在那里没有人去挑它的毛病了,毕竟这类东西都是从简单出发的,但是这类代码经过了所有的(以及不断增加的)测试。所以如果要修改,也要经过所有的测试。
就是这么简单,所谓“思想”就是这样炼成的。不是从书本上学来的,不是什么“宝典”或者教条,是平淡无奇的生存哲学,只不过是让一些非常简单而常用的代码如何生存、发展的学问。
------解决方案--------------------我是来聆听老大的教诲的。
------解决方案--------------------我是来膜拜大神的,编程思想我只知道面向对象和面向过程,再就是模式,囧。。。。
------解决方案--------------------mark!
------解决方案--------------------顶。。。。。。。。。。
------解决方案--------------------学习
回复内容太短了!
------解决方案--------------------没用滴,太极拳的口诀每个中国人都会念两句撒“他横他自横,明月照大江;他强任他强,清风拂山岗”
可是你真正见过谁的天天不练太极拳,只踹个口诀就把太极拳打的好滴。
也就是说单纯的口诀其实是没啥用处滴
第一要练,常年的练,带着那个口诀去练
第二要悟,一旦悟到了那就是悟,悟不到别人说啥都没用,那到还真是“清风拂山岗”,左耳进又耳就出了
------解决方案--------------------碰到大虾了
------解决方案--------------------6楼的 讲的很好啊。顶~~~~
------解决方案--------------------你妹的,坑爹啊
------解决方案--------------------a,b,c,d...z 26个字母谁都懂,但如何把它们转换成单词,句子乃至表达自己的想法.