要想从初学者程序员一跃成为成熟的程序员,
最重要的步骤之一就是了解如何获得帮助。每个人都需要帮助。
每个人,包括那些所谓的"神级程序员"。但是你在帮助下所做的事情将决定你作为一个程序员的进步有多快。
在像StackOverflow这样的站点上,仅仅复制和粘贴某人提供的代码是非常诱人的。
你的程序就像你希望的那样工作,然后你就可以继续你快乐的编程方式了。
这个练习并没有教给你除了代码依赖之外的任何东西。
因为下一次你遇到同样的问题但情况不同了,有人提供的相同代码片段可能不再起作用。
那你是做什么的?你被卡住了。这就是为什么在编程中有一条规则说"永远不要复制粘贴你不理解的代码"。
当你面对一个可以解决你的问题的代码块,但你不知道它是如何工作的,
你应该怎么做?把它分解。
步骤1-将代码复制并粘贴到程序中。(我知道我刚才说不要那样做,耐心,耐心)。
第2步-确保您的程序或应用程序按预期运行。即确认代码块确实解决了您的问题。
第3步-逐行删除复制和粘贴的代码块
第4步-每删除一行时,检查看看有什么被破坏了。应用程序是否仍在运行?错误代码是什么?删除这行代码对你的程序有什么影响?
第5步-即使你认为你知道一行代码是做什么的,还是删除它。
作为一名程序员,最重要的任务是始终根据结果来检验您的假设。
作为一个程序员,最愉快的感觉就是让现实世界来验证你的假设。
当你的男友/女友/丈夫/妻子说出那神奇的三个字时,你知道那是多么美好吗?"你是对的"。
第6步-交换周围的一些线。是否可以使用不同的行顺序来实现相同的功能?
为什么要按照它们的书写顺序来写?
通过逐行分解解决方案代码,您将学习并理解每一行的作用以及编写它的原因。
这是使用他人代码的更好方法,而不是将其粘贴进来,然后希望得到最好的结果。
一旦你理解了为什么这些行是必要的,下一次你遇到类似的问题时,你就能自己找出问题并解决它。
一旦你掌握了从StackOverflow破译代码,下一个目标资源就是GitHub。它是程序员用于协作的工具,但它也是最大的开源代码库之一。
那么,如何使用它来成为一个更好的程序员呢?假设你想做一个Instagram的克隆。但不幸的是,你不知道该怎么做。所以你可以去github.com搜索"Instagram"或"Photo App"。会有一些用Swift/Objective-C/Java编写的东西,您可以下载并查看。
想想他们的代码结构。看看所有的类,常量,相互作用。
对代码进行一些修改。它还能用吗?
还是你把它弄坏了?你为什么把它弄坏了?有没有你没有确定的链接?
问自己一大堆问题,通过苏格拉底式的方法学习。
拆掉这个项目,了解它是如何建造的。
当你开始在这方面做得很好的时候,你可以尝试的下一件事就是逆向工程。
在GitHub上找到一个由知名程序员开发的小项目,下载该应用。运行该应用并查看其所有功能。玩弄它。然后从头开始构建,一旦完成,将您的代码与他们的代码进行比较。您是否可以提高效率?
有没有什么办法可以解决你无法解决的问题?现在你真的进入了你自己的世界开始构建全新的世界。