PHP彩票源码论坛 API设计的十大原则

1.只做你今天需要的
这是最顶级的规则,只解决今天必须解决的问题,PHP彩票源码论坛bbs.yasewl.com最小化需要完成的答案。解决明天的问题的诱惑力是巨大的,但是一定要顶住诱惑!不要提前发布代码,重点是注重缩小发布周期。如果需要花几个小时的时间来回答新问题,那么就不用再猜测明天会出现什么问题了。

2.API模块化
将大型问题转化为规模较小的、可单独解决的问题。模块化API更容易学习,并且可以随时间而改变。你可以用新模块替代旧模块,可以一个一个地教导模块,也可以将API的实验部分从稳定或传统的部分中单独分出来。

3.使用结构化语法
使用结构化的API语法:用thing.action或thing.property代替do_action_with_thing。语法将自然而然地适应模块化的方法,其中每个模块是一个类。

4.使用自然语义
不要发明新概念,只使用开发人员众所周知的概念,作为类系系统的基础。如果你发现自己需要解释概念,那说明你出错了:要么你在解决以后的问题,要么你正在错误地构建API。

5.API的自我约定
每个类都要严格使用相同的样式和约定,一致性是指当一个人学会这一个类时,他就能够融会贯通地掌握全部的类。文档化约定,让它们成为贡献者必须的标准。

6.API的可扩展性
易扩展性有许多好处,并不仅仅在于受到贡献者的欢迎。它还可以让你延缓实现功能,因为“如果需要的话,后面再添加也很方便”。不需要的功能就不添加,这也是一种双赢。

7.完全测试
每个类和方法必须经过恶意代码的完全测试,要像写代码一样写测试,然后像API提供给外界约定文档一样使用测试。每当代码改变的时候就运行这些测试。不要担心代码覆盖率。重要的是外部约定。也可以考虑使用约定生命周期。

8.分层式成长
保持API突出重点,然后在顶部将新的API分层,以便于它们能随着时间的推移成长。可扩展性并不意味着无限期的成长。明确API的范围,并在范围内执行。

9.保持简单易用
最终的测试要看API的简单易用程度。你写的例子,能不能让你的代码看起来更简单?你是不是强迫用户说明他们不在乎的选项?有没有毫无价值的额外步骤?要注重约减少API的可视面积。

10.保持可移植性
不要让系统概念泄漏到API。整洁有目的地抽象:这个API可以运行在任何操作系统上。API必须能够隐藏实现,但要注意第4条规则,以及要使用自然抽象。

原文地址:http://blog.51cto.com/13852243/2136036

时间: 2024-08-28 20:28:16

PHP彩票源码论坛 API设计的十大原则的相关文章

优秀API设计的十大原则

优秀API设计的十大原则 2015-09-23    分类:编程开发.设计模式.首页精华暂无人评论 分享到:更多4 二十万年薪PHP工程师培养计划 成为被疯抢的Android牛人 风中叶讲Java重难点 Linux运维基础课程 本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎加入技术翻译小组! 每个软件开发人员都使用API.“优秀”的API设计就像魔法.不过,我不知道有多少人可以解释为什么有的API很复杂.很难学,而有的则干净.简单.使用起来堪称是一种快乐.关于这个问题,我将在文中

关于怎么做大发彩票源码下载高质量的代码,给你提供一些解决方案

写出大发彩票源码下载论坛:haozbbs.com Q1446595067高质量代码,并不是搭建空中楼阁,需要有一定的基础:这里我重点强调与代码质量密切相关的几点: 掌握好开发语言,比如做Android就必须对Java足够熟悉,<Effective Java>一书就是教授大家如何更好得掌握Java, 写出高质量Java代码. 熟悉开发平台, 不同的开发平台,有不同的API, 有不同的工作原理,同样是Java代码,在PC上写与Android上写很多地方不一样,要去熟悉Android编程的一些特性,

聚富彩票源码下载

聚富彩票源码下载 地址一:[hubawl.com]地址二:[bbscherry.com] 自定义注解 package com.xiaojukeji.common.annotation; import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;

为何能用HTML/CSS解决的大发彩票源码下载问题就不要使用JS?

为什么大发彩票源码下载Q1446595067 论坛:haozbbs.com说能使用html/css解决的问题就不要使用JS呢?两个字,因为简单.简单就意味着更快的开发速度,更小的维护成本,同时往往具有更好的体验,下面介绍几个实例.1.导航高亮 导航高亮是一种很常见的问题,包括当前页面的导航在菜单里面高亮和hover时高亮.你可以用js控制,但是用一点CSS技巧就可以达到这个目的,不需要使用JS. 640?wx_fmt=png&wxfrom=5&wx_lazy=1 640?wx_fmt=pn

彩票×××源码下载搭建

黄埔PHP版US盘口,高仿.net正版us时时彩,修复采集完美版 PHP版八合一盘口时时彩源码分享,带最新采集可自行测试 php版八合一盘口带动画时时彩源码,带最新采集自行测试us时时彩源码五合一盘口蓝色版本 亲测功能完美运营版58彩票时时彩程序源码,永久VIP免费下载!拉菲娱乐-HTML5全屏自适应带开奖软件+WAP独立端 8 2018新版微信娱乐系统,微信赛车,飞艇,时时彩,28,摩托等彩种!新快三天恒版程序带手机版 香港赛马开奖网带视频,后台可控,大神源码论坛独家分享 香港赛车PK10开奖

彩票系统开发-彩票源码出售-彩票程序定制

本公司专注彩票系统开发-彩票源码出售-彩票程序定制 咨询QQ;3334919660飞镖科技成立于2015年04月,专业从事彩票系统定制.开发(咨询QQ:3334919660),我们是一家拥有先进技术和管理理念的互联网公司.专业从事PHP.NET.JAVA.ERP.OA.彩票系统等软件研发.网站开发.APP开发.销售的高科技企业.集自主产品研发生产销售为一体, 公司坚定认同并遵守"以诚待人, 信誉至上,专注品质,发展自我,团队拼搏,开拓创新"的宗旨和经营发展理念,期待您的合作本公司的彩票

Kubernetes 源码分析 -- API Server之编解码

--------------------- 作者:weixin_34037977 来源:CSDN 原文:https://blog.csdn.net/weixin_34037977/article/details/87058105 在Kubernetes源码分析-- API Server之API Install篇中,我们了解到K8S可以支持多版本的API,但是Rest API的不同版本中接口的输入输出参数的格式是有差别的,Kubernetes是怎么处理这个问题的呢?另外Kubernetes支持ya

Android中AsyncTask基本用法与源码分析(API 23)

原文链接 http://sparkyuan.github.io/2016/03/23/AsyncTask源码剖析(API 23)/ 转载请注明出处 Android的UI是线程不安全的,想在子线程中更新UI就必须使用Android的异步操作机制,直接在主线程中更新UI会导致程序崩溃. Android的异步操作主要有两种,AsyncTask和Handler.AsyncTask是一个轻量的异步类,简单.可控.本文主要结合API 23的源码讲解一下AsyncTask到底是什么. 基本用法 声明:Andr

亿发游时时彩-源码开发API

1)  函数指针的初始化. 函数如下: 1 int CompareString(const string& str1, const string& str2)2 {3     return str1.compare(str2); 4 } 函数的初始化有两种方式: 第一种,也是最普遍的方式: 1 int (*CompareFunction)(const string&, const string&) = CompareString; 第二种,是使用typedef定义函数类型,