> On April 26, 2017, 11:16 p.m., Benjamin Mahler wrote:
> > 3rdparty/stout/include/stout/version.hpp
> > Lines 51-54 (original), 60-63 (patched)
> > <https://reviews.apache.org/r/58707/diff/2/?file=1699828#file1699828line64>
> >
> >     I wasn't able to see how "raw" describes what this is storing, you 
> > could call it `numericComponent` or `numericVersion`, but we could also 
> > avoid it:
> >     
> >     ```
> >         std::vector<std::string> numeric_components =
> >           strings::split(s.substr(0, end_of_numeric_component), ".");
> >     ```

It is `raw` in the sense that it hasn't been parsed yet -- i.e., it is a string 
that is supposed to contain more deeply nested structure (dot-separated 
components, each of which is a number), but that nested structure hasn't been 
validated yet.

I wasn't crazy about either `numericComponent` or `numericVersion`, because (a) 
it doesn't capture the not-parsed-yet nature of the variable (b) it is a 
string, it isn't (yet) numeric, (c) it contains multiple version 
numbers/components.

I don't like omitting the variable -- IMO the logic is easier to grasp if we 
use a separate variable.

How about `rawNumericComponents`?


> On April 26, 2017, 11:16 p.m., Benjamin Mahler wrote:
> > 3rdparty/stout/include/stout/version.hpp
> > Lines 156-157 (patched)
> > <https://reviews.apache.org/r/58707/diff/2/?file=1699828#file1699828line160>
> >
> >     In general we try to open and close the quote on the same line if 
> > possible, as it tends to reduce the amount of times we forget to close the 
> > quote, ditto elsewhere

The annoying thing with moving the single quote to the next line is that you 
can't easily `+` two character literals together, so you end up with

```
return Error("Identifier contains illegal character: " +
             string("'") + stringify(*firstInvalid) + "'");
```

which IMO is harder to read overall.


- Neil


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58707/#review172994
-----------------------------------------------------------


On May 1, 2017, 11:45 p.m., Neil Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58707/
> -----------------------------------------------------------
> 
> (Updated May 1, 2017, 11:45 p.m.)
> 
> 
> Review request for mesos, Benjamin Mahler and Kapil Arya.
> 
> 
> Bugs: MESOS-1987
>     https://issues.apache.org/jira/browse/MESOS-1987
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Previously, Stout's `Version` abstraction only supported a subset of
> Semver: version numbers with three numeric components (an optional
> trailing "label" with a leading hyphen was supported but ignored).
> 
> This commit adds support for SemVer 2.0.0, which defines two additional
> optional fields: a "prerelease label" and a "build metadata label",
> e.g., "1.2.3-alpha.1+foo". Both labels consist of a series of
> dot-separated identifiers.
> 
> 
> Diffs
> -----
> 
>   3rdparty/stout/include/stout/version.hpp 
> 7717c85b95d29cefe8f19f3cada4b7402d4d446f 
>   3rdparty/stout/tests/version_tests.cpp 
> 925f3833fd8b1732c35663df3e63c161261e9bff 
> 
> 
> Diff: https://reviews.apache.org/r/58707/diff/4/
> 
> 
> Testing
> -------
> 
> `make check`
> 
> 
> Thanks,
> 
> Neil Conway
> 
>

Reply via email to