Gå til innhold

Hva er best practis ved JS object kall? (to alternativ)


  

3 stemmer

  1. 1. Hva er best practice

    • Alternative 1 (å kalle med et array)
    • Alternativ 2 (å kalle med enkeltparameter)
  2. 2. Hva er mest lesbart

    • Alternative 1 (å kalle med et array)
    • Alternativ 2 (å kalle med enkeltparameter)


Anbefalte innlegg

Sitter og jobber med litt JS og prøver sakte men sikkert å lære meg god kodeskikk og gode sedvaner.

Kom frem til to alternativ for initialisering av objekter som trenger parameter:

 

Alternativ 1

//Object
var richMediaWallpaper = function(options)
{
var defaultOptions =
	{
		"wallpaperWidth"		: 1280,
		"wallpaperHeight"		: 1024,
		"wallpaperContainer"		: $("<div />")
	},
	requiredOptions =
	{
		"contentContainer"		: '',
		"contentWidth"			: '',
		"wallpaperUrl"			: ''
	}
	options = $.extend(requiredOptions, defaultOptions, options);
	options = $.extend(options.contentContainer.width(), options);

/*...*/

}
//Call
new richMediaWallpaper(
{
"contentContainer"	: $("#doc"),
"wallpaperWidth"	: 1280,
"wallpaperHeight"	: 1024,
"wallpaperUrl"		: "http://www.youtube.com/v/dQw4w9WgXcQ", //Yes. It's Rick Astley...
});

Alternativ 2

//Object
var richMediaWallpaper = function($contentContainer, wallpaperUrl, wallpaperWidth, wallpaperHeight)
{
var $wallpaperContainer	= $("<div />");
$("body").prepend($wallpaperContainer);

var contentWidth		= $contentContainer.width(),
	wallpaperWidth		= wallpaperWidth ? wallpaperWidth : 1280;
	wallpaperHeight		= wallpaperHeight ? wallpaperHeight : 1024;

/*...*/
}

//Call
new richMediaWallpaper
(
$("#doc"),
"http://www.youtube.com/v/dQw4w9WgXcQ",
1280,
900
);

Hva er best practise her? Selv synes jeg alternativ 1 tilbyr mer forståelig kode i selve kallet for de som ikke er drevene på å sjekke hva obcjecter gjør, alternativ 1 inneholder unødvendig mye støy om man er kodeorientert. Hva mener du?

Edit: Alternativ 1 er støyete, ikke 2.

Endret av cbastus
Lenke til kommentar
Videoannonse
Annonse

Jeg er ganske enig, men det virker som JQuery-eraen har lagt litt opp til at det er greit å initialiseres med array av settings, noe som igjen åpner for muligheten til å dokumentere behovet for variabler på en bedre måte i JS enn før (iom. at man ikke kan deklarere de i funksjonen som function foo(bar, fruite="apple", candy=false){} )

 

Jeg mente forresten at alternativ 1 inneholdt unødvendig mye støy, iom at den lister opp en rekke datapar som ikke er nødvendige for annet enn å gjøre det lesbart. Det gjør det også unødvendig komplisert å bruke variablene senere i koden da man må skrive options.foo ol.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...