9_编程人生1_程序猿的好习惯 && 移动端关注点

一,程序猿好习惯

何为好的程序猿,一般具备以下习惯:

1.编写易于理解的代码

在编码时,要使用明确定义的命名规则,具体包括易于理解的表达式变量以及明确定义的对象和库,同时也要使用正确的缩进和换行符。这将有助于规范代码格式,并且他人能够快速读懂你的代码,也能为未来交接工作带来便利。

2. 避免过度使用功能

经验丰富的程序员通常会将复杂功能添加到并不必要的项目中,来证明自身水平,但这最终往往会给项目带来负面影响。相反,大家应该专注于项目的核心目标,尽量使用最少的代码来完成任务,并且只添加有助于实现该目标的功能。

3. 组织与代码结构的使用

请不要将全部代码塞进同一文件当中,这会给调试工作带来巨大障碍。大家应当对代码进行分组,最好是将代码按照各自功能放置在不同文件内,如此一来,才能帮助修改者快速找到对应的代码片段。

4.要记录每日的工作情况

每天工作结束后总结一天的工作,花四五分钟时间记录一下一天的工作情况,记在txt文本中,是最方便的,打开快。(这个很有用的,特别是写周报的时候)

5.学习如何正确调试

有代码的地方就有bug。大家需要掌握最出色的调试技能,同时运用各类出色的调试工具以更为轻松高效地完成这项任务。

6. 开始编码前首先进行规划

一定要想清楚后再写代码,如果已经开始动手但却仍不清楚自己要做什么,那么您会在试验及错误身上浪费大量时间,并很快发现身体被掏空。Adam说,“我有朋友在一个大项目组里工作,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他总是在写代码之前想得很仔细且很少出错。”

7. 使用版本控制系统

这类系统能够帮助大家在遭遇错误时进行修改,并且不会影响到全部代码。在这里为大家推荐Git,它是目前最具人气的版本控制系统,它允许您反复审查同一项目并能随时能进行修改,然而不会对整体代码造成影响。

8.经常备份

好的程序员都有经常备份数据的习惯,他们为了保护自己的数据会将数据放在不同的地方,并做好定期(每日,每周,每月)的备份策略。

9.好的代码注释

如果在初始编写代码时,就做到完整、清晰明了的代码注释,对后续工作会有巨大的帮助。不仅提高工作效率,还能增强合作好感。事实上,就算只是自己看自己的代码,如果有注释,也能加深印并缩短代码查找时间。因此,任何开发人员,都应该养成良好的代码注释习惯。

10.选择一款强大的编辑器

即使是经验最为丰富的程序员也需要良好编辑器的配合。他们喜欢用文本编辑器胜过IDE编辑器,因为这样可以学到更多东西。无论什么情况,尽量使用键盘快捷键。在选择编辑器时,认真考虑并挑选最好的(Emacs或Vim),因为它们是通用的。其次,挑选你的首选平台最支持的。

11.了解数据结构和算法

如果你不知道什么时候应该使用快速排序、不懂辨认O(n2)程序、不会写递归函数,你的工作效率将会降低,尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。

12.对项目要从一而终

尽管项目收尾阶段的工作确实强度极大且较为枯燥,但我仍然建议大家坚持到最后并始终抱以理想的工作热情,而且能够从一而终的程序员才是一位负责任、有担当的开发者。

13.别把自己框在单一的开发环境中

优秀的程序员不在意自己使用的到底是什么开发工具,他们选择不同的开发工具只是为了更好的达到自己的目的,他们会去尝试不同的开发环境,去发掘更好的利于自己工作的开发环境。

14.不断学习

技术发展如此之快,需要不断地学习新技术。你需要跟上时代的步伐。你需要去了解新的程序语言,以及了解正在发展中的程序语言,以及一些编程框架。还需要去阅读一些业内的新闻,看看网上大牛们分享的各种技术介绍和总结文章和读读网上一些不错的开源代码。(不光要闭门造车,眼界也很重要)并到一些热门的社区去参与在线的讨论,这样你才能明白和了解整个软件开发的趋势。

15.理性面对不同的操作系统或技术

优秀的程序员明白不同操作系统的优势、长处和短处,所以他们能够在选择系统类型的时候能客观、公正的进行选择,能够理性的分析和理心地面对。

二,移动端程序猿要关注的点:

1,认证层(Authentication Layer)
这应该是你开发链中的第一步。为了应对各种各样的认证请求与inflight request,这一层应该有足够可扩展性。需要留意认证令牌的刷新,令牌刷新失败或类似情况时的错误处理。

2,自动编译(Automated Build)
要确保你为安卓和iOS建立了一个能自动编译的安装程序,并且有把他们分配给测试者的渠道。

3,舒适的移动体验(Graceful Experience)
如果因为一些原因,即使是没有网络或者api停止工作了,也需要保证用户能够返回并从app退出。用户应该总能够点击到导航栏,这样还能够进入缓存中的页面,注销,当网好的时候重新加载,或退出app等。一定避免用户不得不强行终止app进程的情况。这是需要提前考虑的另一个设计特点。

4,数据封装(Data Modelling)
当设计数据封装时候一定要考虑API的存留时间(ttl),用默认的ttl,缓存层,采用多数据源传送以标准表或者键值存储的数据。

5,推出更新(pull to refresh)
如果app的数据频繁改变,人们想要看到更新的消息,那么这个特性会很有用。这对于那些展示实时事件更新的app很需要。

6,崩溃分析(Crash Analytics)
把崩溃分析与app联系起来非常重要,这样如果用户的app崩溃了,我们就能知道原因并可以更快的在下个版本修复。许多工具都可以做到这些。

7,数据存储(Data Store)
从app设计出发,这是需要考虑的最重要方面。有很多种在手机中存储数据的方法。比如WebStorage(LocalStorage, SessionStorage) , InMemory, SQLite. Localstorage的大小是10MB,如果你的要存的数据比这个小,它是个好选择。它的缺点之一是,当你的内存满了以后,操作系统会清空Localstorage数据。SQLite是基于文件的数据库,而且对于更大的文件更加稳定。它是嵌入式关系型数据库,如果你想把大量数据存储/缓存在客户端,它会是你的好朋友。

8,导航堆栈(Navigation Stack)
当需要在不同页面间导航,并且有不止一种入口可以到达需要的页面时,它就是app最重要特性之一。它同样可以被分为不同的导航堆栈,比如:App导航,Tab导航,菜单导航等。要时刻考虑到各种情况,这样用户就不会陷入循环依赖 (死胡同)而需要强制停止app。

9,网络连接(Network Connectivity)
开发者经常假定人们总是有良好的互联网,按照这个逻辑设计app并把它推出。这也是当app不工作或不能持续下载数据时,大部分新手开发者受到打击的一点,最终导致了app在apple/google商店的低评价。一旦app已经推出,修复这类问题就很不容易,需要大量的退化。所以设计app时,这是需要考虑的重要一点。

10,检查平台(check Platforms)
别忘了这个app是建立在哪种平台上的。保证所有的开发者/测试者都在机器上安装了相关程序,并且把这些程序列入文档,这样任何新来的开发者都可以很快掌握。要清楚开发者和测试者要怎样进行测试。
对于安卓,至少需要安装Android Studio, Gradle.
对于iOS你需要创建签名请求来生成证书,还有配置文件。(如果你事先不知道它至少花费一天,你会觉得这个过程很长。建议去找已经做过这一步的人,这一步就会缩减到15分钟)。不管你用哪种架构,要进行iOS开发你都需要至少一个Mac和iPhone。

11,付费(Subscriptions)
如果你的app需要付费,需要遵照Google和苹果付费规则文件。注意:你同样需要建立一些后端,这样当用户为你的app付费时候就可以去处理收据,并且你需要在服务器端保存这些单据。

12,本地特性(Native Feature)
用列表列出app上需要本地设备支持的特性。例如:相机,状态栏,定位服务,通知等。并检查这些支持是否提供给了框架内所有内容。

13,推送服务(Push Notification)
如果你的app需要推送服务,提前决定你要用哪家服务。检查针对选择的框架所用的插件是否有效。第一次用iOS测试这些时,为了让设备接收推送,需要添加一个app证书。同样也要决定你需要基于主题推送还是基于设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值