我开始在d3js:我的图表库之上编写图表库。我读过Javascript可重用和走向可重用的图表。然而,我并没有真正听从这些建议,因为我并不是真的相信这些建议。
这就是我的库可以用来创建一个气泡图的方法:
var chart = new XYBubbleChart();
chart.data = [{"xValue":200,"yValue":300},{"xValue":400,"yValue":200},{"xValue":100,"yValue":310}]; //set data
chart.dataKey.x = "xValue";
chart.dataKey.y = "yValue";
chart.elementId = "#chart";
chart.createChart();以下是我的问题:
发布于 2014-06-03 03:30:20
我的意见:
这不是一个大问题,但它确实使其他人更难使用。一旦一种风格被实现,人们就会开始期待它,当它不起作用时,一些人就会把你的作品当成是“坏的”。人们不看文件。
每个属性和功能都是公开的。(例如:宽度、高度在Chart.js中暴露)。
隐藏细节的最大好处之一是,一旦您公开了某个内容,您就必须在重写代码以使其更好时支持它。另一个优点是,如果让所有功能都发挥作用,您就可以在变量更改值时做出反应,而不必让用户更改变量,然后调用函数。
我已经实现了这样的功能:缩放,“显示信息框时,数据点被点击”为“能力”。(例如: XYZoomingAbility.js)。基本上,这样的“能力”接受“图表”对象,围绕“图表”的公共变量添加功能。这让我可以通过写作来增加一种能力: activateZoomAbility(chartObject);
我们在这里试图避免的一个概念是全局命名空间中有相互冲突的函数名。看看有插件但只公开一个全局变量的库(jQuery是一个,但到目前为止并不是唯一的一个,尽管它可能有关于如何正确生成插件的文档最多)。
怎样测试,测试什么?我编写了混合测试: jasmine和实际html文件,这样我就可以在浏览器上手动测试了。
看看其他人是如何测试的,以及他们是如何做到的。老实说,有很多坏的库,所以越好的测试,你就有更好的机会得到正确的,不破坏任何更新。
感谢您提供代码供其他人使用。共同努力,我们所有人都能建立一个更好的网络。
https://softwareengineering.stackexchange.com/questions/238714
复制相似问题