Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collecting hopefully useful info for newly-joined contributors to start. #246

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions README.beginner-developer
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
This is some collection to help recently joined coders to start with.
You can try the hard way. Then you just do not need to read any further.
Beleive me, at least for me, adds unnecessary frustration.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, among four of us, please let me explain my frustration. Not professional behaviour, I admit, and must excuse me for it...

Today I have somehow found out my root problem to this. In mid-school, I had a subject (~course), technical drawing, screws and other mechanical things, wiring diagrams, etc. We regularly used to have homework. For some, it was always accepted. For others, usually including me, it was rejected with the worst note, and when asking, why, the response always sounding "the newest standards....". Never seen anybody ever having seen such standards, by the way ;-) . And each and every week other standards ;-) ... Well, it did not disturb us very much that time, saying "she is an idiot". Nor did I face any similar situation since then, almost 50 years now. However, with tlf, both my two contributions resulted in this... Well, I know I do not get bad notes any more. Well, I know, everybody helps me, and everybody is happy to see any useful contributions. Still the fact is, I did my best, Zoli has checked it, I only wanted to lean back and be proud and happy, and then still again I was asked to correct things that I could in no way know in advance.

Such a list like this could have helped me. Kindly ask you, to your best, do please support this for me and for all future mates.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is part of collaborative development. I submitted some pull requests last month and there were some obvious things I missed that the others saw and their solutions were clearly better. For me it is an opportunity to learn and get better especially since I am self-taught in programming with no formal education in the field whatsoever. My studies were in electronics 30 years ago. I still melt solder on occasion but I greatly enjoy working with a few software projects.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I also am ready to learn. However, unhappy when I suddenly get the feeling I should have known something nowhere documented... And that was my feeling at the end, no matter how nice the missing point communicated to me by nice fellows...

You lean back, feeling as (almost) on top of the World -- just to have to
learn somewhat later when asking for merge your work, that you are far from done...

In spite of every effort, this doc will (and can) never become complete.
Any comments, critisisms, suggestions, improvement requests are
and will a l w a y s and f o r e v e r remain W E L C O M E .

To begin with, each project using any computer language, ususally is built upon
- partly some project conventions
- partly some personal tastes.

Individual tastes are no problem for one-man projects.
However, for bigger and long-lasting projects, individual tastes obviously
do not help readibility or maintenability.
My personal note, IMHO project conventions are also mainly of
personal taste of somebody in the project much before you joined ;-) ...

The following is the list we could collect so far.
This list is only numbered for easy reference.
This list is not considered to be sorted upon importance,
nor do I think there could be any such importance.
Please never re-number this list.
In case anybody feels in absolute need of picking some points upon importance,
please simply use a list in the header immediately below this introduction, like:

important by HA5SE: 1, 2, 3 // sample



Currently documented conventions
================================


1) TLF is a combination of old code mixed with many new updates.
Old code is as-is, you should never count on conventions in old
code would still continue to be considered as current.

Recent code uses different conventions.

Code is considered old when before ...

You can check the age of any line or block using

git blame ...


2) No need to update Changelog . It only will be updated once for all changes so far
for each single new release by the maintainer. [thanks to HA5CQZ]


3) In turn, it is your responsibility to update the manual page tlf.1.in if your contribution
brings in visible changes to end-users. Such changes include e.g. new config keywords.


4) Do not include your callsign or reason or similar in your modification. [thanks to HA5CQZ]
No need to anything like

// 2021-02-01 HA5SE implementing TUNE_LNG=

Instead of comments like that, rather count on "git blame"


5) When defining global variables we have to choices: [thanks to DL1JBE]

- Variables which are only part of an module should be defined in the module itself
and made known to other modules by declaring them extern in the modules header file
- Alternatively if the variable is not clearly related to a functional module we have
concentrated them in one place - at the moment in main.c (with test/data.c a shadow
copy for testing purposes). The variable should then be declared in globalvars.h
76 changes: 76 additions & 0 deletions README.beginner-developer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Tlf ham radio contest logger
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this line in README.md, there is a link to http://travis-ci.org , no idea what for, Anyway, now I get

Please be aware travis-ci.org will be shutting down in several weeks, with all accounts migrating to travis-ci.com.

Could somebody please resolve this case please...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see #246 (comment), commented the wrong thread


## Summary

This is some collection to help recently joined coders to start with contributing TLF.
You can try the hard way. Then you just do not need to read any further.
Beleive me, at least for me, added unnecessary frustration not knowing any such collection.
You lean back, feeling (almost) on top of the World -- just to have to
learn somewhat later when asking for merge your work, that you are far from done...

In spite of every effort, this doc will (and can) never become complete.
Any comments, critisisms, suggestions, improvement requests are _ W E L C O M E .

To begin with, each project using any computer language, ususally is built upon
* partly some project conventions
* partly some personal tastes.

Individual tastes are no problem for one-man projects.
However, for bigger and long-lasting projects, individual tastes obviously
do not help readibility or maintenability.
My personal note, project conventions are also mainly built up of
personal taste of somebody in the project much before you joined ;-) ...

The following is the list we could collect so far.
This list is only numbered for easy reference.
This list is not considered to be sorted upon importance,
nor do I think there could be any such importance.
Please never re-number this list, that is, only add new points at end of file.
In case anybody feels in absolute need of picking some points upon importance,
please simply use a list in the header immediately below this introduction, like:

**`important by HA5SE: 1, 2, 3 // sample`**



## Currently documented conventions


1) TLF is a combination of old code mixed with many new updates.
Old code is as-is, you should never count on conventions in old
code would still continue to be considered as current.

Recent code often uses different conventions.

Code is considered old when before ...
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be very thankful if somebody would please insert a year number here...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re travis: it is used for continuous integration, the expression in the MD file shows the latest build status.
Their statement is that open source projects can stay, so no immediate action is needed in my opinion. Until now all worked as before.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just FYI: Github has an own CI, we can leave Travis.


You can check the age of any line or block using

**`git blame ...`**


2) No need to update **` Changelog `** . It only will be updated once for all changes
per each single new release by the maintainer. [thanks to HA5CQZ]


3) In turn, it is your responsibility to update the manual page **` tlf.1.in `** if your contribution
brings in visible changes to end-users. Such changes include e.g. new config keywords.


4) Do not include your callsign or reason or similar in your modification. [thanks to HA5CQZ]
No need to insert anything like

**`// 2021-02-01 HA5SE implementing TUNE_LNG=`**

Instead of comments like that, rather count on

**`git blame`**


5) When defining global variables we have two choices: [thanks to DL1JBE]

* Variables which are only part of an module should be defined in the module itself
and made known to other modules by declaring them extern in the modules header file
* Alternatively if the variable is not clearly related to a functional module we have
concentrated them in one place - at the moment in **` main.c `** (with **` test/data.c `** a
shadow copy for testing purposes). The variable should then be declared in **` globalvars.h `** .