SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 24/03/2018, 05:39 PM   #1
NikitaFoxze
Little Clucker
 
NikitaFoxze's Avatar
 
Join Date: Mar 2018
Posts: 5
Reputation: 0
Post Грамотный код

Я тут хотел просить как грамотно и правильно писать код, ведь существует много способов
Например №1:
stock PayDay(playerid)
{
GivePlayerMoney(playerid, 600);
SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
return 1;
}
Например №2:
stock PayDay(playerid) {
GivePlayerMoney(playerid, 600);
SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
return 1;}

В основном я хотел спросить про скобочки, в каких вариантах их писать.
__________________
My server IP - 195.133.49.139:7777
Russian | English

Last edited by NikitaFoxze; 24/03/2018 at 08:39 PM.
NikitaFoxze is offline   Reply With Quote
Old 24/03/2018, 06:47 PM   #2
Bombo
Huge Clucker
 
Bombo's Avatar
 
Join Date: Jun 2012
Posts: 286
Reputation: 76
Default Re: Грамотный код

Ну.. скобочки не помешало бы открывать в функции GivePlayerMoney(). Это для начала.
__________________
[Tool/Web/Other] SA:MP multiloader
[Plugin] Automatic chat translator
[GameMode] DayZ+ [0.3z]
[Plugin] imessage - fast multilanguage strings
[Tool/Web/Other] player search service
Bombo is offline   Reply With Quote
Old 24/03/2018, 07:53 PM   #3
NikitaFoxze
Little Clucker
 
NikitaFoxze's Avatar
 
Join Date: Mar 2018
Posts: 5
Reputation: 0
Default Re: Грамотный код

Quote:
Originally Posted by Bombo View Post
Ну.. скобочки не помешало бы открывать в функции GivePlayerMoney(). Это для начала.
Исправил
__________________
My server IP - 195.133.49.139:7777
Russian | English

Last edited by NikitaFoxze; 24/03/2018 at 08:39 PM.
NikitaFoxze is offline   Reply With Quote
Old 24/03/2018, 08:43 PM   #4
TriskeliS
Big Clucker
 
Join Date: Jun 2011
Posts: 70
Reputation: 0
Default Re: Грамотный код

Code:
stock PayDay(playerid) {
  GivePlayerMoney(playerid, 600);
  SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
  return 1;
}
TriskeliS is offline   Reply With Quote
Old 25/03/2018, 07:39 AM   #5
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,465
Reputation: 131
Default Re: Грамотный код

PSR вам в помощь:
PHP Standard Recommendation
Для "ну там всё на аглицком"
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 25/03/2018, 02:25 PM   #6
ForCop
Banned
 
Join Date: Mar 2018
Location: Moldova of Republic
Posts: 122
Reputation: 5
Default Re: Грамотный код

Code:
stock PayDay(playerid) 
{
    GivePlayerMoney(playerid, 600);
    return SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
}

PayDay(playerid) 
{
     GivePlayerMoney(playerid, 600);
     return SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
}

stock PayDay(playerid) return GivePlayerMoney(playerid, 600),SendClientMessage(playerid, -1, "Вы получили 600 кредитов");

PayDay(playerid) return GivePlayerMoney(playerid, 600),SendClientMessage(playerid, -1, "Вы получили 600 кредитов");
ForCop is offline   Reply With Quote
Old 26/03/2018, 02:21 AM   #7
OKStyle
High-roller
 
OKStyle's Avatar
 
Join Date: May 2008
Location: Russia
Posts: 3,062
Reputation: 117
Default Re: Грамотный код

Имхо. Так более читабельно и понятно. Ретурнить функции не комильфо, т.к. может произойти сбой и вернёт не то, что планировалось.

PHP Code:
stock PayDay(playerid
{
    
GivePlayerMoney(playerid600);
    
SendClientMessage(playerid0xFFFFFFFF"Вы получили 600 кредитов");
    return 
1;

__________________
O.K.Style™ Laboratory
Kalcor: "... it's makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."
OKStyle is offline   Reply With Quote
Old 26/03/2018, 09:44 AM   #8
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 417
Reputation: 12
Default Re: Грамотный код

Quote:
Originally Posted by OKStyle View Post
Имхо. Так более читабельно и понятно. Ретурнить функции не комильфо, т.к. может произойти сбой и вернёт не то, что планировалось.

PHP Code:
stock PayDay(playerid
{
    
GivePlayerMoney(playerid600);
    
SendClientMessage(playerid0xFFFFFFFF"Вы получили 600 кредитов");
    return 
1;

Далеко не везде важно что возвращает функция, но вообще соглашусь. Мало того, что чётко не ясно какое именно значение вернёт функция, так ещё и если вдруг захочешь переписать код функции, придётся тратить лишнее время на вычленение "SendClientMessage" из return.

Касаемо оформления скобок.
Вообще в SA-MP закрепился стиль Олмана, так что если ты не хочешь получить недопонимание со стороны сообщества, стоит придерживаться именно его.
Ну а можешь пойти другим путём и начать использовать стиль K&R, который в SA-MP пришёл, вероятнее всего, от тех, кто привык кодить на других языках с этим стилем, а потом всякие понтокодеры решили слепо повторять, чтоб быть "нитакимикаквсе".
Хотя вообще, если ты пишешь код исключительно для себя, то можно использовать любой стиль, который тебе удобен. Но вот когда ты публикуешь код в паблик, лучше, чтоб этот код придерживался распространённого в сообществе (не важно каком) стиля. Тогда все будут счастливы
__________________
- How many IT Engineers does it take to fix a broken light bulb?
- None, the light bulb works fine in my office, I cannot replicate the issue.
Eims is offline   Reply With Quote
Old 26/03/2018, 11:12 AM   #9
NikitaFoxze
Little Clucker
 
NikitaFoxze's Avatar
 
Join Date: Mar 2018
Posts: 5
Reputation: 0
Thumbs up Re: Грамотный код

Quote:
Originally Posted by Eims View Post
Далеко не везде важно что возвращает функция, но вообще соглашусь. Мало того, что чётко не ясно какое именно значение вернёт функция, так ещё и если вдруг захочешь переписать код функции, придётся тратить лишнее время на вычленение "SendClientMessage" из return.

Касаемо оформления скобок.
Вообще в SA-MP закрепился стиль Олмана, так что если ты не хочешь получить недопонимание со стороны сообщества, стоит придерживаться именно его.
Ну а можешь пойти другим путём и начать использовать стиль K&R, который в SA-MP пришёл, вероятнее всего, от тех, кто привык кодить на других языках с этим стилем, а потом всякие понтокодеры решили слепо повторять, чтоб быть "нитакимикаквсе".
Хотя вообще, если ты пишешь код исключительно для себя, то можно использовать любой стиль, который тебе удобен. Но вот когда ты публикуешь код в паблик, лучше, чтоб этот код придерживался распространённого в сообществе (не важно каком) стиля. Тогда все будут счастливы
Спасибо
__________________
My server IP - 195.133.49.139:7777
Russian | English
NikitaFoxze is offline   Reply With Quote
Old 27/03/2018, 05:43 AM   #10
OKStyle
High-roller
 
OKStyle's Avatar
 
Join Date: May 2008
Location: Russia
Posts: 3,062
Reputation: 117
Default Re: Грамотный код

Quote:
Originally Posted by Eims View Post
Далеко не везде важно что возвращает функция
Везде. 0 вообще наш худший враг. Так что внимательно надо к ретурнам.
__________________
O.K.Style™ Laboratory
Kalcor: "... it's makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."
OKStyle is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Грамотный запрос MySQL. Urukhay Русский/Russian 3 10/01/2014 05:14 AM


All times are GMT. The time now is 10:04 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.