Как се структурира код

samo

Registered
Здравейте :). Предполагам, че този въпрос може да звучи глупаво, но има ли някъде универсален стaндарт за структуриране на код. Интересува ме за нещо, което не се обвързва с определен език, а да е общо.
Например:
Код:
function test():void {
//function body
}
или
Код:
function test():void 
{
//function body
}
Кога се използва първият начин и кога вторият?
 
това как се структорира зависи само от това как даден човек е свикнал да пише
аз придпочитам вторият вариянт
 
Както ти казаха си зависи от човека... и в двата варианта ще е еднакво. А може ли само малко информация какво е това void? Че аз знам само за function name(argument(s)){
 
И аз съм свикнал със вторият вариант. Така е дори по-четливо :)
Също важно е да използваш табулации.
 
void - указва, че функцията не връща никаква стойност. Дали има вероятност да има значение каква е функцията и според това да се структурира кода.
 
Общо взето функциите които не пишат в буфера самостоятелно не са void, а valued функции (т.е. носят/връщат някаква стойност), например за да видиш резултата от не-void функцията str_replace трябва да използваш void функцията echo. А void функциите (например echo, print, phpinfo, die) са свързани с писане в буфера (извеждане на текст, output buffer-а имам предвид). В php няма нужда да се задава вид на функция, но в C++ например има. Ако функцията ти ще връща число да кажем трябва да е тип int или float, а ако директно ще използва cout за да изведе текст без да връща нищо трябва да е тип void.
void функция:
function square($int) {
$result = $int * $int;
echo $result; }
не-void функция:
function square($int) {
$result = $int * $int;
return $result; }


Та по темата, всеки език за себе си. В BASIC до колкото помня функции се оформят така (без ограничаващи скоби):
Код:
Function funkciq(arg1, arg2)
//something
End Function
Python пък ползва двоеточие вместо отваряща скоба, а затваряща няма. Няма определен стандарт който да е валиден за всички езици, но за най-добра прегледност независимо дали ще сложиш { : или нищо, "тялото" на функцията е добре да започне от следващия ред 1 табулация по-навътре. И това не само за функции, а и за цикли и условни конструкции. Особено с редактор с оцветяване на кода, ако е добре структуриран откриването на грешки в конструкциите става много по-лесно

off: Двоеточие не се ли пише двуеточите? Че речника го дава с О
 
пп: И моя го дава с О :D
Трябва да посочиш и за кой език г/д става на въпрос. А има и редактори които като напишеш тази къдравата скоба и ти изместват писеца с една табулация на вътре, но доколкото се сещам в тъпият notepad++ я нямаше тази екстра.
 
Най добрата практика е Allman не ти препоръчвам други защото при Allman редактирането на даден код е 10 пъти по лесно и разбираемо
 
Моят изглежда горе-долу така:
Код:
<?php
	
	class ninja{
	
		private $asd = 'woo hoo';
		private $arr = array();
		
		public function osem( $var1 = false, $var2 = false, $var3 = false ){
			
			if( $var1 == true )
				echo $this -> asd;
			
			if( $var2 ){
				
				echo 'Yezz <br>';
				echo "Yezz {$this -> asd} <br>";
				echo "<a href='{$this -> asd}'>asd</a>";
			}
			
			if( !$var3 ) {
				
				foreach( $this -> arr as $arr ){
				
					echo $arr;
				}

			}else{
				
				echo $var3;
			}
		}
	}

?>
и никога не съм имал проблеми с разчитането му :)
Тук не се виждат добре табулациите, но ако го копирате в някой текстов едитор ще изглежда малко по-добре :)
 
fireflex това е K&R стил, аз също ползвам него когато пиша класове. Във файлове които няма да редактирам не използвам indent, пиша както сваря - по-кратки условни изрази направо целите на 1 ред, не слагам табулации... така де, няколко байта повече ще претоварят световната мрежа :roll:
 
raiden каза:
fireflex това е K&R стил, аз също ползвам него когато пиша класове. Във файлове които няма да редактирам не използвам indent, пиша както сваря - по-кратки условни изрази направо целите на 1 ред, не слагам табулации... така де, няколко байта повече ще претоварят световната мрежа :roll:
Хах, той е първия показан, а аз не съм го забелязал :D
 

Back
Горе