• 定制化设计一站式临时空间解决方案

  • 高端产品行业领先进口生产线

  • 核心技术装配式移动建筑系统

公司新闻
   主页 > 公司新闻

开云(中国)Kaiyun·官方网站-登录入口-JQuery之父: 每天都来点代码吧

作者:开云(中国)Kaiyun  发布时间:2024-09-23 16:35  浏览:
本文摘要:Last fall, work on my coding side projects came to a head: I wasn’t making adequate progress and I couldn’t find a way to get more done without sacrificing my ability to do effective work at Khan Academy.去年秋天我的业余编程项目(coding side projects)到了一个紧要关头:没充裕的工程进度,也不需要寻找一种方法在既不壮烈牺牲我汗学院(Khan Academy)高效的工作的前提下已完成更好的事情。

Last fall, work on my coding side projects came to a head: I wasn’t making adequate progress and I couldn’t find a way to get more done without sacrificing my ability to do effective work at Khan Academy.去年秋天我的业余编程项目(coding side projects)到了一个紧要关头:没充裕的工程进度,也不需要寻找一种方法在既不壮烈牺牲我汗学院(Khan Academy)高效的工作的前提下已完成更好的事情。There were a few major problems with how I was working on my side projects. I was primarily working on them during the weekends and sometimes in the evenings during the week. This is a strategy that does not work well for me, as it turns out. I was burdened with an incredible amount of stress to try and complete as much high quality work as possible during the weekend (and if I was unable to it felt like a failure). This was a problem as there’s no guarantee that every weekend will be free – nor that I’ll want to program all day for two days (removing any chance of relaxation or doing anything fun).如何处置我的业余编程项目是有一些相当严重问题的。我最主要是在周末或者某些工作日的晚上撰写代码。如同结果一样,这种策略并不合适我。

周末我拖着极大的压力尝试已完成尽量多的高质量代码(如果我未能已完成我会指出自己很告终)。这样想要有一个问题,因为没什么需要确保我每个周末都有空,并且想要整个周末都写出程序而不是抓住机会放开或娱乐。

There’s also the issue that a week between working on some code is a long time, it’s very easy to forget what you were working on or what you left off on (even if you keep notes). Not to mention if you miss a weekend you end up with a two week gap as a result. That massive multi-week context switch can be deadly (I’ve had many side projects die due to attention starvation like that).每周写出代码之间空挡太长也是个问题。你很更容易记得在做到什么、什么还没有做完(即使做到记录也于事无补)。更加不用说如果你错失一个周末,你就不会面临宽约两周的间隔。

大量两周或者更加多周的思维切换可是可怕的(我的很多业余项目都由于精力严重不足而中止)。Inspired by the incredible work that Jennifer Dewalt completed last year, in which she taught herself programming by building 180 web sites in 180 days, I felt compelled to try a similar tactic: working on my side projects every single day.我被Jennifer Dewalt去年已完成的工作愤慨了,她在180天内建构了180个网站以自学编程。受到她的灵感,我强制自己尝试一个相近的策略:每一天都要展开我的业余项目。I decided to set a couple rules for myself:我要求给自己制订一些规则:1.I must write code every day. I can write docs, or blog posts, or other things but it must be in addition to the code that I write.1.我必需每天都写出代码。

我可以写出文档,博客或其他的东西。但必需依附于我写的代码。

2.It must be useful code. No tweaking indentation, no code re-formatting, and if at all possible no refactoring. (All these things are permitted, but not as the exclusive work of the day.)2.代码必需是简单的。无法代码微调,无法代码重排,且尽可能不要重构。(这些事情都是容许的,但不作为当天特有的工作。)3.All code must be written before midnight.3.所有代码必需在午夜前写出。

4.The code must be Open Source and up on Github.4.代码必需开源且放到Github上。Some of these rules were arbitrary. The code doesn’t technically need to be written before midnight of the day of but I wanted to avoid staying up too late writing sloppy code. Neither does the code have to be Open Source or up on Github. This just forced me to be more mindful of the code that I was writing (thinking about reusability and deciding to create modules earlier in the process).其中的一些规则有点不合理。虽然从技术上来讲代码没有适当不须在午夜前写出,但我想防止休息时间太久写出差劲的代码。

而且代码没有适当开源放到Github上。这只是强制我写出代码时多上甜品(看看器重以及要求研发过程不来写出模块)。Thus far I’ve been very successful, I’m nearing 20 weeks of consecutive work. I wanted to write about it as it’s completely changed how I code and has had a substantial impact upon my life and psyche.到目前为止我展开得很成功,我已展开了20周的倒数工作。

我想写这些是因为这方法几乎转变了我的编码方式并且对我的生活以及心智都有实质性的影响。With this in mind a number of interesting things happened as a result of this change in habit:有这些规则后,习惯的转变造成了很多有意思的事情再次发生:Minimum viable code. I was forced to write code for no less than 30 minutes a day. (It’s really hard to write meaningful code in less time, especially after remembering where you left off the day before.) Some week days I work a little bit more (usually no more than an hour) and on weekends I’m sometimes able to work a full day.最多不切实际代码(Minimum viable code).每天我被强制写出最少30分钟的代码。(少量时间内很难写有意义的代码,特别是在是在回忆起前一天写出到哪里后)有一些工作日我写出得多点,但一般来说多于1小时。而周末,我有时候能一整天当程序猿。

Code as habit. It’s important to note that that I don’t particularly care about the outward perception of the above Github chart. I think that’s the most important take away from this experiment: this is about a change that you’re making in your life for yourself not a change that you’re making to satisfy someone else’s perception of your work. The same goes for any form of dieting or exercise: if you don’t care about improving yourself then you’ll never actually succeed.编码即为习惯(Code as habit).只不过最重要的一点是我并不尤其在乎Github上的(负面)聊天内容是如何被他人解读的。我指出这就是指这个实验中我教给的最重要的东西:这是关于在你一生中为了你自己而展开的转变而非为了让你的工作能亲近他人而展开的转变。

这也限于于任何形式的节食或磨练:如果你不在意提升自己,你是总有一天也会顺利的。Battling anxiety. Prior to starting this experiment I would frequently feel a high level of anxiety over not having completed “enough” work or made “enough” progress (both of which are relatively unquantifiable as my side projects had no specific deadlines). I realized that the feeling of making progress is just as important as making actual progress. This was an eye-opener. Once I started to make consistent progress every day the anxiety started to melt away. I felt at peace with the amount of work that I was getting done and I no longer had the over-bearing desire to frantically get any work done.抵抗情绪(Battling anxiety).在开始这个实验之前我常常担忧不需要已完成充足多的工作量或者获得充足的进展(这两点很难度量,因为我的业余项目没具体的累计日期)。我找到想获得进展与实际获得进展是某种程度的最重要。

这让我豁然开朗。一旦我开始每天获得持续的进展,情绪就开始消失了。我对我大大已完成的工作量深感难过,并且我仍然过度可怕地希望已完成更好的工作。

Weekends. Getting work done on weekends use to be absolutely critical towards making forward momentum (as they were, typically, the only time in which I got significant side project coding done). That’s not so much the case now – and that’s a good thing. Building up a weeks-worth of expectations about what I should accomplish during the weekend only ended up leaving me disappointed. I was rarely able to complete all the work that I wanted and it forced me to reject other weekend activities that I enjoyed (eating dim sum, visiting museums, going to the park, spending time with my partner, etc.) in favor of getting more work done. I strongly feel that while side projects are really important they should not be to the exclusion of life in general.周末(Weekends).在周末已完成的任务曾今对于前进工程进度是意味著最重要的。的确有地表性地,这是我已完成业余项目明显代码量的唯一时间。

但现在并非如此,不过十分好。在周末已完成我一整周所希望的有价值的内容不能以让我以沮丧收场。

我很少需要已完成我想已完成的所有工作,而这强制我退出其他周末我讨厌的活动(例如,不吃中式甜品,参观博物馆,去公园以及和我的小伙伴在一起玩游戏等)以已完成更好的工作。虽然我十分坚信业余项目知道很最重要,但总之,他们不应当妨碍你的平时生活。Background processing. An interesting side effect of writing side project code every day is that your current task is frequently running in the back of your mind. Thus when I go for a walk, or take a shower, or any of the other non-brain-using activities I participate in, I’m thinking about what I’m going to be coding later and finding a good way to solve that problem. This did not happen when I was working on the code once a week, or every other week. Instead that time was consumed thinking about some other task or, usually, replaced with anxiety over not getting any side project work done.发呆(Background processing).每天都写出业余项目的一个有意思的副作用就是当前业余项目的任务不会频密地在你大脑中显露。这造成当我走路,睡觉或则展开其他不花费脑力的活动时,我总是在想要接下来我要写出些什么代码并且找寻好的方法来解决问题(译者录:别人显然就是发呆)。

这在我每周或于隔年一周写出一次代码的时候未曾经常出现过。忽略这些时间花费在了思维其他的一些任务上,一般来说是惊讶自己上周没有能已完成业余项目的工作量。

Context switch. There’s always going to be a context switch cost when resuming work on a side project. Unfortunately it’s extremely hard to resume thinking about a project after an entire week of working on another task. Daily work has been quite helpful in this regard as the time period between work is much shorter, making it easier to remember what I was working on.思维切换(Context switch). 之后业余项目时总是不会有思维切换代价的。意外的是,当一整周都在干其他任务的工作时,这改变是及其艰难的。

就每天都写出代码而言是十分不利的,因为工作间歇时间更加较短。这使得回忆起正在做到什么更容易。

Work balance. One of the most important aspects of this change was in simply learning how to better balance work/life/side project. Knowing that I was going to have to work on the project every single day I had to get better at balancing my time. If I was scheduled to go out in the evening, and not get back until late, then I would need to work on my side project early in the day, before starting my main Khan Academy work. Additionally if I hadn’t finished my work yet, and I was out late, then I’d hurry back home to finish it up (instead of missing a day). I should note that I’ve been finding that I have less time to spend on hobbies (such as woodblock printing) but that’s a reasonable tradeoff that I’ll need to live with.工作权衡(Work balance). 这个转变最重要的一方面是必要学会了如何更佳地权衡工作/生活/业余项目。由于具体了我每天都会工作在业余项目上,我必需更佳地均衡我的时间。

如果我计划晚上出外并且不会很晚才回去,那么我会在一天中早些时候,既在开始我的汗学院的主要工作前,已完成我的业余项目的工作量。而且如果我没已完成我的任务,并且独自待得很晚,我会赶往家已完成他而不遗漏一天。我应当注意到了我享有较少地时间可花费在嗜好上(例如版画),但这是我必须面临的合理的折中。

Outward perception. This has all had the added benefit of communicating this new habit externally. My partner understands that I have to finish this work every day, and thus activities sometimes have to be scheduled around it. It’s of considerable comfort to be able to say “Yes, we can go out/watch a movie/etc. but I have to get my coding in later” and have that be understood and taken into consideration.他人观点(Outward perception). 把这个新的习惯告诉他别人让我更加获益。我的小伙伴解读我必须每天已完成这个工作,因此有的时候活动决定也很顾及我的工作。

需要说道“没问题,我们可以出去玩/看电影/等,但我等会儿要当会儿程序猿”并且需要被解读和考虑到在内是非常难过的。How much code was written? I have a hard time believing how much code I’ve written over the past few months. I created a couple new web sites, re-wrote some frameworks, and created a ton of new node modules. I’ve written so much I sometimes forget the things I’ve made – work from even a few weeks prior seem like a distant memory. I’m extremely pleased with the amount of work that I’ve gotten done.能写出多少代码?我真是不敢相信我上个月写出了多少代码。

我制作了一堆新的网站,改写一些框架,并且创立了大量新的节点模块(node modules)。我写出了如此的多,以至于我有时候都记得了我究竟腊了些什么,前一周的工作都样子是很很远的记忆样。我对我所已完成的工作量是及其失望的。I consider this change in habit to be a massive success and hope to continue it for as long as I can. In the meantime I’ll do all that I can to recommend this tactic to others who wish to get substantial side project work done. Let me know if this technique does, or doesn’t, work for you – I’m very interested in hearing additional anecdotes!我指出这个习惯转变是一个相当大的顺利并且期望能尽量地继续下去。

与此同时,我将倾尽所有将这个策略引荐给其他期望让其业余项目有实质进展的人。无论这个技术对于你是简单或者不行,请求告诉他我。

我会十分乐意听得更加多的趣事的!。


本文关键词:开云(中国)Kaiyun,开云(中国)Kaiyun·官方网站-登录入口

本文来源:开云(中国)Kaiyun-www.bjjy-tech.com

返回