[ 
https://issues.apache.org/jira/browse/THRIFT-3027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Magrath updated THRIFT-3027:
---------------------------------
    Description: 
In Go, as per https://github.com/golang/go/wiki/CodeReviewComments#initialisms, 
words in names that are initialisms or acronyms should have a consistent case. 

For example, if you have a struct like:

{code}
struct InitialismsTest {
    1: string user_id,
    2: string server_url,
}
{/code}

One would expect it to compile to:

{code}
type InitialismsTest struct {
        UserID    string `thrift:"user_id,1" json:"user_id"`
        ServerURL string `thrift:"server_url,2" json:"server_url"`
}
{/code}

Rather than:-

{code}
type InitialismsTest struct {
        UserId    string `thrift:"user_id,1" json:"user_id"`
        ServerUrl string `thrift:"server_url,2" json:"server_url"`
}
{/code}

It would be pretty difficult to handle all cases of initialisms in the Go 
compiler of course, but there is a set of common initialisms that have been 
identified by the authors of Golint and could be handled relatively easily:- 
https://github.com/golang/lint/blob/master/lint.go#L692 

  was:
In Go, as per https://github.com/golang/go/wiki/CodeReviewComments#initialisms, 
words in names that are initialisms or acronyms should have a consistent case. 

For example, if you have a struct like:

[code]
struct InitialismsTest {
    1: string user_id,
    2: string server_url,
}
[/code]

One would expect it to compile to:

[code]
type InitialismsTest struct {
        UserID    string `thrift:"user_id,1" json:"user_id"`
        ServerURL string `thrift:"server_url,2" json:"server_url"`
}
[/code]

Rather than:-

[code]
type InitialismsTest struct {
        UserId    string `thrift:"user_id,1" json:"user_id"`
        ServerUrl string `thrift:"server_url,2" json:"server_url"`
}
[/code]

It would be pretty difficult to handle all cases of initialisms in the Go 
compiler of course, but there is a set of common initialisms that have been 
identified by the authors of Golint and could be handled relatively easily:- 
https://github.com/golang/lint/blob/master/lint.go#L692 


> Go compiler does not ensure common initialisms have consistent case
> -------------------------------------------------------------------
>
>                 Key: THRIFT-3027
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3027
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Go - Compiler
>    Affects Versions: 0.9.2
>            Reporter: Paul Magrath
>            Priority: Minor
>
> In Go, as per 
> https://github.com/golang/go/wiki/CodeReviewComments#initialisms, words in 
> names that are initialisms or acronyms should have a consistent case. 
> For example, if you have a struct like:
> {code}
> struct InitialismsTest {
>     1: string user_id,
>     2: string server_url,
> }
> {/code}
> One would expect it to compile to:
> {code}
> type InitialismsTest struct {
>       UserID    string `thrift:"user_id,1" json:"user_id"`
>       ServerURL string `thrift:"server_url,2" json:"server_url"`
> }
> {/code}
> Rather than:-
> {code}
> type InitialismsTest struct {
>       UserId    string `thrift:"user_id,1" json:"user_id"`
>       ServerUrl string `thrift:"server_url,2" json:"server_url"`
> }
> {/code}
> It would be pretty difficult to handle all cases of initialisms in the Go 
> compiler of course, but there is a set of common initialisms that have been 
> identified by the authors of Golint and could be handled relatively easily:- 
> https://github.com/golang/lint/blob/master/lint.go#L692 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to