

1-学习喜欢的语言,而不是当下的炒作
那是黄金法则:边玩边学习,或者至少喜欢自己在做什么。 不要专注于当下的语言。 如果将您拒之门外,您将一无所获。 而且,这个领域发展得如此之快。 例如,在提到HTML5之前,Javascript尤其被抹黑,并成为Web的支柱之一。 重要的是,您选择的语言会激发您的好奇心和学习欲望。 与完全相似的配置文件相比,具有多个构面的开发人员也更有趣。 此外,您将始终找到实现目标的解决方案。 例如,PHP和MySQL对夫妇一直使我无法从事数据库业务。 这并没有阻止我通过使用诸如Rebol(现在为Red),Python和XML之类的语言和元语言来克服它。
2-找到您感兴趣的项目并成功实施
一些手册或代码培训的主要缺陷是缺乏具体案例。 一一接一地教您命令,但几乎没有活页夹。 就像在不交谈的情况下学习单词,句子一样。 例如,当我第一次真正来到英国时,我就被打了一巴掌。 与学校的英语无关。 幸运的是,我花了很长时间才适应并沉浸在伟大的语言学中。 因此,最大的目标是使您着迷的项目,为此您将找到时间和精力思考,发展,也许并且肯定会断断续续。 这类软件是否已经存在都没有关系。 自己做总是更有趣。 回应需要,渴望。 例如,构建一个工具来补充您的另一种热情。 要有创造力。
3-去戏剧化
您正在学习一门新语言。 想象自己在异国他乡,您只会说几句话,而计算机是您唯一的对话者。 你问他要盐。 他回答你他不明白。 您以不同的方式再次问他。 他给你带来糖。 不严重。 只是一个理解上的问题。 目前,您的生活已不至于危急关头,并且计算机不会在显示大的闪烁“语法错误”时用大的红笔划线划掉数字副本或爆炸。
4 —一步一步做,每天做一点
每天10分钟或每两周5个小时不会使您成为开发人员。 最好每天学习和练习一点。 良好的规律性使您更容易记住。 从一开始也不要把目标设置得太高。 您可能会感到失望。 在计算机编程领域,很难想象一夜之间会双语。 这需要更多的耐心,但是您的努力将永远得到回报。
5-知道如何暂停
有时有必要知道如何暂时放弃自己在做什么,以便更好地返回到工作状态。 被困在计算机前并不会带给您灵感。 您将更加迷路。 当我一无所知时,我经常离开计算机,拿出一张纸,然后尝试以一种简单的方式表达自己的想法。 这使我可以更清楚地看到并找到在代码中迷路的地方。 随意移动到其他地方,完全不同的地方。 最近,我在购物时就发现了一段困扰我的代码的解决方案,手里拿着一包面条……当您从活动中分离出来时,您会释放大脑,然后大脑可以“不知不觉地”探索多种替代途径。 在好书,漫画书或视频游戏前移动,散步,通风,放松,很有可能一切都将变得清晰起来,并且您会表达自己的意思,“当然了!”。
6 —评论,综合
快速注释代码变得至关重要。 一方面,要解释自己在做什么(特别是刚起步时特别重要),另一方面,它是一种提醒。 当您从一个项目跳至另一个项目或六个月后获取一段代码时,重要的是要能够快速找到解决方法。 浪费时间想知道程序是如何工作的,这是可耻的。 同样,出于x的原因,您可能会遇到这种情况,即不是自然地编写代码而是使用替代物(后门)。 六个月后,您很可能会想知道为什么没有以传统方式对此功能进行编码。 在意识到自己的错误以及行为方式不同的“为什么”之前,您将立即做些什么。
7-做笔记并综合您的知识
纸质或数字教科书,在线课程非常实用,但不一定与您的学习方式相对应。 此外,解释有时很冗长,您只对一小段文字感兴趣,例如命令的语法。 让自己成为摘要文档,为什么不以思维导图的形式。 如果您缺少信息,则无需深入阅读手册。 只需看一下您的综合信息,就可以找到重要的信息。 它还允许您填写缺少的信息,或提供比手册中更清晰的示例。
8 —测试与实验
手册并不总能解决所有问题,有时您遇到的问题没有记录在案。 我经常在训练中以迷宫为例。 您不会被困在小巷的尽头。 您可以追溯步骤以测试下一条路径,直到找到出口为止。 在代码中,也是如此。 如果它不能与方法A一起使用,则方法B可能是正确的方法,或者方法C或方法D或方法E都可以。。。 有时,最好隔离一个命令,然后在程序外部对其进行测试,以检查您是否了解该命令的工作方式以及它是否完全满足您的需求。
例如,最近,我正在查看手册中的命令,以从字符串中删除特定字符,例如从句子中删除逗号。 但是,我想删除所有标点符号,并且手册没有指出如何同时删除多个字符。 我可以逐个字符地重复相同的命令,但是对我来说似乎有点乏味。 我只是在引号之间添加了其他字符,以指示要删除的字符和奇迹。 我本可以浪费时间搜索互联网或陷入困境。 一个简单的测试就让我前进了。
9 —定期备份并使用版本控制
定期备份应该是一种自然的反应。 没有人能幸免于技术问题或处理错误。 告别长时间输入的代码……定期保存,不要犹豫,创建多个文件,每个文件都有一个版本号。 这使您可以保留进度历史记录,并更轻松地识别错误。 如果您的代码版本0.43完美运行,则毫无疑问,错误是由于您添加到版本0.44中引起的。
按照惯例,带小数位的版本称为“次要”,即对其进行的更改不重要。 具有整数的版本被称为主要版本,因为它们被认为具有功能性,并且在进行中带来了真正的创新。 如果我将其与徒步旅行进行比较,版本0.43和0.76表示您正在前进,版本1.0则表明您已经到达了第一站,即大雷鸣山上猫头鹰的避难所。 1.0版有点特殊,因为它是第一个真正的功能版本。
例如,我目前正在用Red编写文本分析器以取乐,而我的版本是0.56,这意味着我的程序可以正常运行,但对于公众而言还不够功能,尚有许多重大改进。
您可以使用Git(和Framagit,面向法文读者)这样的在线服务来保存代码,并能够更轻松地跟踪历史记录,但是要开始使用,可能没有必要。
10 —简化,优化代码
您的代码工作正常吗? 美丽! 美丽! 但是工作还没有完成。 现在是简化和优化程序的时候了。 通过检查是否没有更简洁的代码或使用更快的方法来进行简化。 例如,某些订单可以合并为一个。 简化和优化的代码更优雅,更易于阅读,并且最重要的是,其工作速度更快。 这意味着更少的机器时间使用,更少的能源消耗。
优化,获取速度和资源也意味着要关心旧设备。 如果您始终需要最新的计算机来运行程序,那么程序的重点是什么? 用户更有可能转向经济的解决方案,而您对优化的关注将在代码中显示您的技能和认真程度。
优化还意味着关心用户和可能的错误。 然后,我们尝试使自己陷入困境,并列出他或她可能遇到的问题。 随时与他人测试您的程序。 当您将鼻子放在车把上时,通常很难发现您的错误。
一个错误的例子? 许多在线表单会在键入过程中检查该条目,并过分系统地以红色显示错误消息。 当您输入电子邮件地址并看到消息“无效的电子邮件地址”时,您可能会有疑问。 实际上,只要不键入整个地址,就必定是无效的。 一个有见识的用户将了解所有内容。 其他人将被阻止。 一种简单的解决方案是在用户验证表单时而不是在输入时检查输入。 设计错误,开发人员的错误,他们没有把自己放在用户的鞋子里。
11 —比较,检查其他人的代码
我们通过观察学习。 观察不是复制,而是在不真正知道代码用途的情况下收回代码。 观察就是检查,分析,尝试了解该开发人员或该开发人员的方法,然后找到自己的方法。 只要有可能,请随时查看他人的工作并提出自己的解决方案。
12 —问问题
有专门的论坛,网站上满载文章。 您正在解决的问题可能不会立即找到答案,但是可能您不是您所遇到的唯一问题,或者是另一个问题正在解决。 在进行了一些研究并记录了您的问题之后,请随时在论坛上提出问题,除非没有清楚说明阻碍您的情况。 “不起作用”永远解决不了任何问题。