码,码,码不停!

本文翻译自Roy Greenfeld的博文,文末已上原文链接。

往往看的一些中文博客都是严重复制的,因此我决定还是看一些外文的技术博客,接触一些真正技术专家的思想,同时也保持自己的英语阅读能力,这就是我翻译这篇博文的原因。

Roy Greenfeld是《Two Scoops of Django》的作者,他的博客里面很多关于Python的技巧方法,另外在Django方面作者贡献了非常多的内容和开源项目。

我常常会被被新手程序员问到,他们如何才能够“专业地"使用他们的编码技能。或者他们如何才能在编写软件方面做得更好。

如何提高你的编码技巧

接下来我所阐述的是我的方法,但它可能不是你最适合的方法。这一系列方法也没有任何特定顺序,所有这些方法都适用于你开始采用这些方法的那一刻。

  1. 我写代码,并且写了很多。为了工作和娱乐,我从起初码一些愚蠢的小脚本到自动化任务,再到尝试完整的项目。期间我也曾失败了很多次,但一路上学到了很多。
  2. 我没有从一门语言跳到另一门语言。相反,我多年来一直呆在一些地方,专注于学习这些工具。我二十多年的职业生涯可以概括为FoxPro,然后是Java,然后是Python。在这期间我也拾起了JavaScript的一些知识。当然,我已经完成了一些事情(Lisp,Haskell,Lua,Perl,ColdFusion,Go),但是得利于专注于一小组工具,我摆脱了平庸。
  3. 我写了很多代码。是的,这是#1的重复。
  4. 一旦掌握了语言的基础知识,我就会为每个语言查找最佳实践。然后我虔诚地坚持了他们,甚至对此也是教条主义者。通常,这意味着我的代码更容易阅读。更容易调试。最重要的是,更容易分享。
  5. 我已经提过了我写了很多代码吗?除非你练习,否则你永远不会擅长任何事情。 #1的另一个重复。
  6. 我克服了提问的恐惧/骄傲。好吧,大多数情况下,我仍然时不时害怕/骄傲。老实说,通过提问你没有表现出你不知道的问题,你表明你愿意学习。此外,弄清楚如何提出问题的简单行为可以让您以正确的心态来确定自己的答案。
  7. 当我问一个问题时,无论我是否得到答案,我都会编写更多内容。代码,代码,代码!又是#1的重复
  8. 一旦我掌握了语言,我就会在上面查找操作手册(cookbooks)或口袋性的指南书(pocket references)。我更喜欢纸质版的科技类书籍(我读的其他类别的书籍都是电子版)。操作指南书中的所提及的高级知识成为我工具包的基础。口袋参考中简洁易懂的提醒意味着更少的认知获取。
  9. 我掌握了那些从指南书和参考文献中的技巧与方法,并利用它们编写代码。我一次又一次编码。在工作时间或游戏时间。实践变得完美!为什么我要继续重复#1?
  10. 多年来,我一直在使用最容易上手且稳定IDE 或是文本编辑器。诚然,我知道存在很多强大的工具,可以使用一些出神入化的命令(如Vim,EMACS等)。但我不想停止我正在做的工作来学习一些新的工具。我想编码,而不是修补桌面IDE或神秘的文本编辑器。
  11. 再次,回到#1,我使用的是文本编辑器编写代码。码,码,码不停!直到我的手受到损伤,直到我不得不学习如何处理腕管综合症。代码,代码,代码!这就像学习武术,吉他或任何东西一样,重复简单的动作可以让你有信心将这些动作组合成更大的东西或者学习更复杂的东西。

我希望自己完成的任务

  • 学习计算机科学。如果我能重新做到这一点,那将是我学术研究的重点。它不会替换我列表中的任何内容,我定义的方法保持不变。码,码,码不停!
  • 不得不说,我应该寻找更多的个性化指导。没有什么可以像教练(在线或面对面均可)那样可以引导你走上正确的道路。然后你可以码,码,码不停!

实践是检验真理的唯一标准,这样看起来实践才是学习的完美方法,对吧?

英文原文出处:

https://www.pydanny.com/code-code-code.html

原文地址:https://www.cnblogs.com/huang-yc/p/9745323.html

时间: 2024-08-02 14:17:19

码,码,码不停!的相关文章

二维码扫码积分系统定制开发

微信积分系统 二维码扫码积分系统定制开发找丽姐[158.1816.6626/电微]二维码营销模式系统定制开发 微信扫二维码营销系统开发 扫码领积分系统开发 一.如何实现扫二维码领红包功能? 1.使用扫描二维码领取红包对活动进行设置,包括红包数量.红包金额.促销地区.中奖概率等. 2.将生成的二维码赋到商品上面并赋涂层,一方面可以起到保证二维码的一次性,另一方面也可以引起消费者的好奇心. 3.通过手机微信打开扫一扫,扫码商品二维码关注公众号并领取红包,如果参与分享还可以获得抽奖的机会. 二.微信扫

HTTP状态码(响应码)

HTTP状态码(响应码)用来表明HTTP请求是否已经成功完成.HTTP响应类型一共分五大类:消息响应,成功响应,重定向,客户端错误,服务器端错误. 下表列出了所有HTTP状态码,以及他们各自所代表的含义: 状态码 原因短语 代表含义 HTTP 版本 消息响应 100 Continue(继续) 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须在请求完成后向客户端发送一个最

揭秘北京赛车7码8码滚雪球走势技巧不为人知的秘密玩法

如果你觉得五码*师妹*对于你来说用规律技巧玩法的话太难的话.我建议你使用七码八码来滚雪球.七码八码基本百分之七十八十了.这么多号码你还找不出基本规律玩法.我就觉得你太失败了.玩七码八码最多有5组号码可以给你选着跟.最低都有1组操神规律在等着你.就看你用不用心找而已.  玩滚雪球最好就是先学会分配本金,如果你连基本分配自己的本钱都不懂,我觉得你只是在盲目投注. 其实我发现有很多的玩家对于滚雪球的意义很模糊,不知道原理是什么.那下面我给大家来说一说滚雪球的原理.滚雪球的原理就跟我们冬天在雪地上堆雪人

二维码活码php

二维码活码管理系统什么是活码?二维码生成后,二维码图案不变,内容可随时变更,极大提高营销效率,配合美术设计二维码能力大大提升.并且可以做到实时统计二维码扫描数据,传播效果一目了然:根据地域.网络.设备等多维度分析数据,提升管理效率. 二维码的活码的技术实现本质是什么?二维码活码团主要存储一个固定的 php 路径及码的 id,扫描二维码后,服务根据请求内容从数据库中查找二维码的信息,作跳转并记录访问信息. 系统技术 第一步:创建数据库例如:这里是 实现友情链接二维码活码的功能 因为友情链接,有的网

【转】支付宝 二维码/转账码/生成方式,突破二维码生成数量的限制

支付宝收款的几种方式: 通过xposed 设置金额/备注.然后可以得到一张二维码.这是传统的方式. 通过支付宝的接口,自己拼接字符串.然后根据字符串生成一个二维码对于 对于传统方式.支付宝限制了一天二维码的生成数量.在这之间简直是好用得不要不要得.但是突然间支付宝爸爸说.你搞那么多二维码干啥.还备注...一天给你20张够不够? 于是乎一瞬间哀鸿遍野.有得同学有先见之明,生成好的二维码都存起来了.有存货,现在还可以拿出来用.但是没有存货的怎么办? 第二种方式,就出现了,转账码: 转账码也有多种途径

c#生成二维码,一维码(条形码)

  一.一维码 1.一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码.39码.交叉25码.UPC码.128码.93码,ISBN码,及Codabar(库德巴码)等. 2.一维码用处:可以识别商品的基本信息,例如商品名称.价格等,但并不能提供商品更详细的信息,要调用更多的信息,需要电脑数据库的进一步配合. 代码具体实现:引用spire Barcode程序包,既可以生成一维码,又可以生成二维码,这是一个EAN-13码 使用winform实现: //创建 BarcodeSettings

码-主码-候选码辨析

三者定义 码:表中的某个属性组,它可以唯一确定一个元组. 候选码:若关系中某一属性组的值能唯一的标识一个元组,则称该属性组为候选码. 主码:若一个关系有多个候选码,择选其中一个为主码. 候选码中的所有属性都是必须的,即只有这些属性在一起时才能确定下一个元组,而码却没有最少属性的要求. 例如在学生表S中有如下关系: S(sid,name,dept) 对于给定一个学号sid便可唯一的确定这个学生的姓名name,所在系dept,所以sid是候选码. 对于(sid,name)的组合也可以唯一确定这个学生

Java生成随机不重复推广码邀请码

欢迎进入我的博客:blog.scarlettbai.com查看更多文章 最近接到一个需求,要批量生成推广码,首先我们知道推广码的特效有如下两点: 1:不可重复 2:不可以被推测出 关于这两点,我们的思路大体分为如下几类: 1:每次生成一个随机码后查数据库是否有相同的,有则重新生成(每次都要访问数据库,导致效率极低,不推荐) 2:依据数据库的主键作为唯一键,进行打乱或插入操作,如主键为8000001,取出后生成3位(据需求增减)随机数或字母,插入主键值中,构成如8000E0V0S1D这种串,可保证

Gray码 (格雷码) 【二进制】

以下内容是看了Matrix67的关于二进制的blog(Link)的一点总结与摘录. Gray码,中文“格雷码”,是一种特殊的编码,相邻两个格雷码的二进制表示中有且仅有一位不同,且 n 阶 Gray 码是 0~2^n-1 的一个排列. n 阶 Gray  码可以由 n-1 阶 Gray 码镜像翻转之后最前面加一个 '1' 得到. 比如 2 阶 Gray 码为: 00 01 11 10 3 阶: 000 001 011 010 110 111 101 100 这样就巧妙的实现了相邻的数只有一个二进制