Sim*_*mon 11 delphi language-concepts
好吧,所以我已经在Delphi中编程了3到3年了,并认为自己是一个对概念有充分理解的中级应用程序设计师.但我怎样才能变得更好?我一直在寻找我经常使用的几个组件的来源(virtualtreeview,asynccalls),那里的代码只是让我感到困惑.是的,我可以理解它的一部分,但其他的事情就在我的头上.
那么哪些是提高编程能力的最佳资源呢?书籍,博客或其他信息来源?
Mas*_*ler 11
编程技巧就像肌肉; 改善它们的最好方法是锻炼它们.如果你想学习成为一个更好的程序员,那就做一个比以前更难的项目.想出一个你想写的东西的想法,但不知道该怎么做,并开始写作.一旦你遇到了你不理解的概念,研究它们,你最终会为你的曲目添加新的概念和技能.
Dav*_*vid 10
理解使用您不熟悉的概念的代码很难.我的建议:
选择一个或两个您不理解的项目,然后重新实现它们.根据您的问题,尝试编写自己的树(或列表)组件,并尝试编写一个简单的线程框架,您可以在其中调度作业并在某个时刻恢复其工作.这些是您提到的两个项目的简化版本.
作为程序员,您可以边做边学.没有多少理论可以弥补解决和解决问题的经验.[*]
当您解决这两个问题时,您将遇到Virtual Treeview和AsyncCalls的作者所遇到的一些相同问题.(如果你遇到麻烦,可以问这里!)你不仅会学到他们所学到的东西,而且你可能会回来重新阅读他们的代码,并了解他们正在做的一些事情.
不要被你对周围概念(原始项目)和复制代码的工作实现这一事实所诱惑 - 随意查看它的灵感,但不要复制它.自己写吧.
请记住,Mike Lischke和Andreas Hausladen都是非常聪明的人.如果努力工作,请不要灰心.许多程序员只是在他们整个职业生涯中都很有能力(听起来像你这样)而没有让自己去尝试或者更难学习(所以如果你不介意我这么说,那么对你提出问题很有帮助!)
其他一些想法:
学习另一种语言.德尔福很棒,但你会用语言"思考",所以如果你学好另一种语言,你就会接触到其他概念或思维方式,或者做同样事情的不同方式.这真的打开了你的想法.
例如,C++非常适合使用RAII,模板元编程(这比Delphi的模板允许的更强大),在各种额外的库中有一些相当惊人的东西,比如boost,并且自己在脚下拍摄:)功能语言将会完全改变你的想法(我不得不承认在这里有点虚伪:我已经接触过他们,但我不知道'我自己.我想.) 目标C可能对不同的看法有好处.什么是面向对象的意思(它和C++都是面向对象的基于C语言,但非常不同.)你明白了.
查看这些特定项目:本页的一个答案建议逐行完成.我发现要理解我之前没用过的代码,这可能是压倒性的.我曾经在Embarcadero工作人员的博客上阅读了一些使用剖析器的建议,因为它将为您提供(a)程序的所有类/方法/部分以及(b)最常见的高级视图.使用过的,可能是最重要的部分,以及它们如何挂钩在一起.我不能赞同这个建议,但我认为这是一个很好的建议.我建议使用AQTime.
正是因为这个原因,我发现像'找到Foo,研究来源'这样的答案是无益的:你是一个程序员,当然你会看到来源! 如何看待来源,这是一个更有趣的问题.
最后,如果你到了"你正在查看几个[项目]的来源并且那里的代码只是残留[你]",或者如果你做了上面的一些并且不理解某些东西,请问这里!
[*]脚注:我不主张不了解潜在的理论,只是通过自己做一些必不可少的事情来获得知识/信心.
| 归档时间: |
|
| 查看次数: |
630 次 |
| 最近记录: |