I use the Wubi-pinyin input method on macOS and Linux systems by installing the Rime input method framework. On a Windows system, Rime is also available if you have the Administrator privilege. Unfortunately, I am only a standard user on my laptop at work. So I have to find a not-bad alternative and the built-in Microsoft Wubi looks like a good choice.
It actually tastes delicious. No compatible issue, it is Wubi-pinyin compatible, and very fast. The only thing I might complain about is that you cannot press Enter key to send out the code you input onto the screen, but pressing the Shift key twice did the trick.
In total, it is a good choice, and most importantly, it is built-in.
I was asked those questions recently and the following is my answer:
What is good code?
Good code has at least the following characteristics:
-
Good code has good readability, so it is easy to understand.
- Good code is well organized, a clear and reasonable directory structure with meaningful filename is the basic element of good code.
- Every class, method, variable has a deliberate and meaningful name. You can know the purpose of an identifier through the name at first glance.
- Methods should be short, every method should only do one thing.
- Good code does not use magic numbers and hard coded strings.
-
Good code has automated tests, so it is easy to maintain or change.
-
Good code has a good architecture, so its components can easily be replaced by another.
-
Good code has explicit dependencies.
-
Good code has good performance.
- It does not do database queries or other time-consuming jobs in a loop.
-
It should use a queue for certain situations
-
It should use a full-text search engine instead of the 'LIKE' query on the database.
-
If part of the code is really complex, a carefully written comment would be helpful. By the way, do not forget to update the comment when you change the code later.
-
Good code is highly cohesive and low coupling. Components should be well defined, that is, they are self-contained with one and only one purpose. Each component should know as little as possible about another component.
-
Good code is modular. The Business logic (the controller) should be separated from the data storage layer (the model), while the view layer should be separated from the controller layer.
What attributes do you think an ideal software developer demonstrates?
- They should always have enthusiasm for programming, which means that they programming not only at work.
- They should know Linux or macOS well. I mean they should know the command line well.
- They care about the user experience.
- They are responsible and willing to do their best to meet the deadline.
- They are knowledgeable, I mean they know not only programming, they have wide knowledge in various fields.
- They love sharing and teaching, or mentoring. I mean they are kind to newbies.
What do you believe is the difference in behaviours and skills between a Senior Software Engineer and an Intermediate Software Engineer?
- A senior engineer not only knows how to code or how to implement a feature but also knows how to code in a better way. They not only implement a feature, they help refine the feature. I mean they do extra work to make the feature better.
- Senior engineers know how to plan, separate big tasks into smaller ones, and can recognize which task has the higher priority.
- Senior engineers not only program, they help other engineers grow up. They do mentoring, tutoring, or teaching in a team.
- Senior engineers are people beyond the bounds of skillset. They could be a potential leader, or just a leader without a title.
豆瓣链接
14年底读了这本书,这是当时的书摘。
2014-12-20 18:12:12
这一切都始于那个周日的午后,始于偶然回首的一瞬间他那冷峻而若有所思的样子对一个女孩儿的触动。
2014-12-20 18:13:34
赶二十里路用饭盒带粥,这样的事恐怕只有他才做得出来。
注: 此言差矣。沉浸在爱情中的小年轻,什么都做得出来。
2014-12-20 18:15:37
他们有时候海阔天空,国事家事天下事无所不谈;有时候话又很少,可贵在于“一切尽在不言中”的默契。
2014-12-20 18:45:57
现在我们上哪里去寻找当年的圆明园、丁家滩、十渡,又怎样才能促成当年那种背着瓶啤酒,带着干面包,在野外玩儿童年时的游戏的郊游呢?
2014-12-20 18:48:15
上午参加一个朋友的婚礼,我为他高兴,可是晚上回到家里又得知另外一个朋友被判处死刑,我的心情是可想而知的。然而,又能怎样,这就是生活。
…more
13年5月的时候,我整理了那年3月和4月的微博。我记得为了整理微博还专门写过一个网页工具。也许有一天能把它捞出来做成一个通用的工具。
3月
相册就是相册,照片就应该是绝对的主体。
更新Blog的Blogger越来越少, 说明什么问题?
来Lava超群,创建你的独立微博站点。
Lava超群个人站,超群站,都要支持RSS全文输出。
甚至我们可以在每篇文章的末尾提供付费支持链接呀!(申请微收款功能)
烦恼的时候,要忏,不要怨。
…more
2012年,我基本就只在Lava微博发贴了,那时Lava微博已经能够自动将微博同步发表到饭否、新浪微博还有腾讯微博等7,8个平台。到13年年中的时候,Lava微博开始转型今天的校内外。一直到2018年我离开公司,我不间断的在这个平台写东西。出发点只是为自己,当然倘若同时能帮助到其他人,不亦美哉!
2012年整理好的就这些。没有9月和10月,也没有12月。也许只是懒,当时没有整理。
1月
【告诫各位女生】 男生就像大食堂里的菜,虽然难吃……但是……但是…………去得晚了居然没了! 发表于:2012-01-01 00:11:19
快速学习是一个伪命题。只有一小时一小时的学进去,持续不断的投入,方能达成目标。好的方法能适当加速这个过程,不过别忘记,找方法也需要时间。多读书,多了解,能节省一些试错的时间,如果你选书得当,读得够快,并且能充分吸收的话,算是同样并不轻松的捷径。 发表于:2012-01-01 13:45:39
开放的社会让人们可以集合记忆,自由交换记忆,进而比对记忆﹑发掘其中的错误。//一个自由开放的微博系统,即是这样一个社会。 发表于:2012-01-01 15:23:31
在一个“大者恒大”的世界里,找到自己的风格,坚持自己的风格是“弱者”的生存之道。#故事照亮未来# 发表于:2012-01-01 15:30:44
#故事照亮未来# 高科技产业上的决战点,不见得一定是谁网罗了最多最优秀的研究﹑营销人才。许多公司的崛起,靠的是明白单纯的风格﹑个性,企业环绕着一种风格,建构其管理锁链﹑孕育其组织节奏,这种公司显然比较容易找到市场上的利基,集中焦点把事情做好,也相对能禁得起景气的波动变化。 发表于:2012-01-01 15:39:11
一个人使用鼠标的方式可以反映出他的思维速度。脑筋转动越快的人,越倾向于使用键盘而不是鼠标。那些思维活跃,前途无量的家伙基本上都是手不离键盘。 发表于:2012-01-02 19:46:48
…more