... | ... | @@ -5,28 +5,81 @@ Mindenki külön branchen dolgozik. |
|
|
|
|
|
Feature branch név formátum: feature/{feature neve}, pl. feature/auth. Egyéb, nem feature branch nevek létrehozhatók pl. fix/header.
|
|
|
|
|
|
Nem commitolunk más branchére. Helyette leágazunk belőle, megtartva a feature branch eredeti nevét és hozzáírva a mi nevünket (pl. feature/auth-den) és egy pull requestet indítunk, amiben meg lehet beszélni az implementációbeli különbségeket.
|
|
|
Nem commitolunk más branchére, csak ha expliciten utasítottak rá. Helyette leágazunk belőle, megtartva a feature branch eredeti nevét és hozzáírva a mi nevünket (pl. feature/auth-den) és egy pull requestet indítunk, amiben meg lehet beszélni az implementációbeli különbségeket.
|
|
|
|
|
|
## Kódolás
|
|
|
[YAGNI](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it) & [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)
|
|
|
|
|
|
1. Make it work (MVP)
|
|
|
2. Make it right (Refactor)
|
|
|
(3. Make it fast - optional)
|
|
|
|
|
|
Ez a gyakorlatban:
|
|
|
* Fejleszted a featuret
|
|
|
* Működik, de a kód hányás
|
|
|
* Írsz hozzá teszteket
|
|
|
* Refaktorálod, hogy a kód ne legyen hányás. A működés most már a teszteknek köszönhetően biztosított.
|
|
|
|
|
|
### Backend
|
|
|
Coding style: black, flake8
|
|
|
|
|
|
[API design guide](https://geemus.gitbooks.io/http-api-design/content/en/) néhány eltéréssel (todo)
|
|
|
|
|
|
### Frontend
|
|
|
Coding style: a mindenkori prettier config alapján (jelenleg a `package.json` része). Dockerben fejlesztők számára a prettier-vscode extension használata ajánlott.
|
|
|
|
|
|
#### Coding style
|
|
|
A mindenkori prettier config alapján (jelenleg a `package.json` része). Dockerben fejlesztők számára a prettier-vscode extension használata ajánlott.
|
|
|
|
|
|
Ne legyenek névtelen default exportok. Így az IntelliSense felismeri és fel tudja ajánlani.
|
|
|
|
|
|
**DO:**
|
|
|
|
|
|
```jsx
|
|
|
const MyComponent = () => <div />;
|
|
|
export default MyComponent;
|
|
|
```
|
|
|
or:
|
|
|
```jsx
|
|
|
const MyComponent = () => {
|
|
|
return <div />;
|
|
|
}
|
|
|
export default MyComponent;
|
|
|
```
|
|
|
or:
|
|
|
|
|
|
```jsx
|
|
|
function MyConponent() {
|
|
|
return <div />;
|
|
|
}
|
|
|
|
|
|
export default MyComponent;
|
|
|
```
|
|
|
|
|
|
**DO NOT:**
|
|
|
|
|
|
```jsx
|
|
|
export default () => <div />;
|
|
|
```
|
|
|
#### Mappaszerkezet és fájl elnevezés
|
|
|
Komponens fájl elnevezés: `PascalCase.jsx`
|
|
|
|
|
|
Mappa és lib fájl elnevezés: `kebab-case, kebab-case.js`
|
|
|
|
|
|
Fontos, hogy a komponensek `.jsx` kiterjesztést kapnak, a lib fájlok pedig `.js`-t.
|
|
|
|
|
|
```
|
|
|
src
|
|
|
|-- lib
|
|
|
| |-- my-lib-subfolder
|
|
|
| | \-- my-lib.js
|
|
|
| \-- my-other-lib.js
|
|
|
|-- pages
|
|
|
| |-- index.jsx
|
|
|
| \-- questions
|
|
|
| |-- [id].jsx
|
|
|
| \-- ask.jsx
|
|
|
\-- components
|
|
|
|-- common
|
|
|
| |-- Button.jsx
|
|
|
| \-- TextField.jsx
|
|
|
\-- question-list
|
|
|
|-- QuestionListItem.jsx
|
|
|
\-- QuestionList.jsx
|
|
|
```
|
|
|
|
|
|
|
|
|
#### Component styling
|
|
|
styled-jsx |
|
|
\ No newline at end of file |
|
|
styled-jsx
|
|
|
|
|
|
#### Design
|
|
|
Ikonok: feather |
|
|
\ No newline at end of file |