[Issue 7635] New: Inconsistent naming in std.stdio - byLine(), byChunk()

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Mar 3 10:18:26 PST 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7635

           Summary: Inconsistent naming in std.stdio - byLine(), byChunk()
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: datta.sandeep at gmail.com


--- Comment #0 from Sandeep Datta <datta.sandeep at gmail.com> 2012-03-03 10:18:23 PST ---
The nomenclature adopted for some std.stdio methods like byLine and byChunk is
inconsistent with preestablished conventions where functions/properties
returning a collection of entities is named using the plural form of said
entity. Following convention reduces the cognitive load on developers
significantly in the long run.

In view of the above IMHO byLine() and byChunk(size_t) should be renamed to
lines() and chunks(size_t) respectively.

Also the struct ByLines should be renamed to something like LineReader (let's
avoid the plural form LinesReader here since presumably the LineReader reads
one line at a time). Also convention dictates that class names should be nouns.
English is not my first language but IMO "by lines" is neither a noun nor a
noun phrase (or gerund for that matter).

It seems the by*() names facilitate fluent reading of the foreach construct but
as the following code snippet shows the fluency is not lost by using the
suggested names...

//Read: for each line in stdin.lines() do ...
foreach(line; stdin.lines(){
    ...do something with line...
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list