Code Monkey home page Code Monkey logo

libcellml-archived's People

Contributors

agarny avatar hsorby avatar mirams avatar nickerso avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mirams

libcellml-archived's Issues

develop branch: do we need all of the gtest code?

It looks to me like the repository contains all of the gtest code including gtest's own tests. Is that really necessary? It increases the size of the repository without any particular added value.

Use case "Create [very simple] model, serialise to XML (no maths)".

Use case description:
Use libCellML to create a model, and serialise to XML.

This test code illustrates one way of doing this, from the caller's perspective:
https://github.com/codecurve/libcellml/blob/9a1e162fa2af0fc27808d10e0de8fc60b0899511/tests/XmlSerialisationTest.cpp#L17-L37

Note:
For various reasons, depending on how you look at it, this issue deviates from the proposed libCellML development process. Nevertheless, one of the main goals of submitting this issue now is that it will help illustrate some of the aspects of that process, for example, how BuildBot displays the results of builds and tests for the various revisions related to the corresponding pull request. This was discussed at the libCellML meeting last week. Note that the above test code already has corresponding implementation code. Build and test results are already visible under TravisCI, on a mock pull request created to illustrate this, see https://github.com/codecurve/libcellml/pull/3.

Initial code stub

Create an initial code stub that will set up the future development work for libCellML. This will include gtest 1.7.0 and a function version() to create a test around. This code stub will need to work with the Buildbot configuration currently in place.

develop branch: is the name of the gtest folder really suitable?

Right now, the gtest code is under a folder named gtest-1.7.0. Personally, I would simply call that folder gtest, this to avoid issues many files being considered renamed (if not deleted and recreated) by git whenever gtest is upgraded to a newer version.

Windows buildslave(s)

Windows 7 (64 bit) is all that I think is needed for now.
MSVC (whichever is currently the latest version available on ABI Build and Test Server (BaTS))

Agree on some coding style

I just came across https://github.com/codecurve/libcellml/tree/buildBotDummy01 and, sure, the code is still in its infancy, but that's the reason we probably ought to agree on some coding style. For example, looking at this version of a file, line 6 reads:

using namespace std;

of which I am not a fan at all (it can make it difficult to read some code).

Anyway, I am not claiming that I have the perfect coding style, but it might be worth looking at the coding style used in OpenCOR. As can be seen, it's pretty much the coding style used by the Qt Creator team.

Development process documentation

Description of the process used for making contributions to the codebase, project documentation etc. Includes related documentation about things such as coding standards, how branching is used, how releases are made, etc.

Mac OS X buildslaves

First priority (I think): OS X 10.9, then 10.8 maybe. I don't think we need 10.7.
Part of issue #11.

Repo for BuildBot buildmaster

I'm using git to version the master.cfg edits. I think it would be good if there was a "github.com/cellml/libcellml-build" repo that I could submit pull requests to etc.

The file contains buildslave passwords in plain text, so it will be necessary to blank those somehow. Not sure what the security issues are if those leak, probably not serious, since others just use the default "pass" password anyway.

File name case convention?

I'm currently using a camel-case convention for C++ source file names, (e.g. would be VariableSetHelper.h). Hugh suggested I change the case convention to all lower case (e.g. would be variablesethelper.h).

I prefer camel-case. As my example shows, all lower case makes file names look garbled (it's easy to think the first word was "variables" in the lower case example, and "helper" doesn't stand out at the end of the name, since "the" and "per" might be noticed first). The all lower case convention was strongly influenced historically by quirks when using CVS version control. I've used camel case on a C++ project consistently for 5 years a few years ago, and even using CVS, we felt it was preferable. Chaste uses a camel case convention.

What are other people's views on this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.