Софтуерно Инженерство
Loading...
+ Нов въпрос
Valleri avatar Valleri 292 Точки

[Useful Info] JavaScript - Помагало по JS OOP - "Solver DGE"

Здравейте, преатели!

Направих един кратък скрипт, който може би ще ви улесни на изпита.

С него се работи по следния начин. 
Въвежда се име на класа и полетата КАТО първо се въвежда името на полето и след това с тире се вкарва типа на променливата.

Пример: 
x - number, y - number, isMale - bool, name - string

Както виждате типовете засега са 3 и са разделени с тире от името на променливата.
Отделните полета са отделени с запетая.

Какво се генерира?

1.Конструктор
2. Basic проверки на типовете
3. toString
4. Има опция за добавяне на проверка за абстрактен клас от отметката

Линк: Solver DGE

П
римерен output: http://pastebin.com/AWKfVfXj

29
JavaScript Advanced 15/11/2014 10:46:28
Ventsislav avatar Ventsislav 343 Точки

Благодаря колега, аз едитнах малко кода за да ми е по-удобен. Направих следните промени :
на 18ти ред сплитвам по двоеточие "var splittedFieldType = fieldTypePair[i].split(":");" ,
по-надолу в проверката за bool слъм сложил boolean "} else if (fieldType == 'boolean') {"
също така вместо да ми печата валидацията съм го направил да печата метод за валидация, като например:
Object.prototype.validateIsNullOrEmpty(fieldName);

Object.prototype.validateIsNumber(fieldName);
Object.prototype.validateIsBoolean(fieldName);


От тук може да свалите кода.
Примерен output: цък

8
13/11/2014 22:34:15
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Добра идея си е това :)

Реших да направя подобно нещо, само че код генератора е на РНР.

https://github.com/RoYaLBG/JavascriptClassGenerator

И с малко разлики в HTML-а. Добавяш пропъртита през "add" линкчето. (Май трябва да направя и Remove:)). Избираш типа му от дропдаун. Може да посочиш и кой клас наследяваш. В началото генерира закачени към прототипа на глобалния обект валидации.

Може би ще е добре, ако го направя да генерира повече от един клас наведнъж, за да има смисъл от това да се избира кой е Parent class-a. Също и някакви рейндж-ове да могат да се посочват освен типа.

Примерния аутпут също е в репото:

https://github.com/RoYaLBG/JavascriptClassGenerator/blob/master/test_output.js

EDIT:

- Remove: добавено

- Range (from -> to) за Numeric полетата: добавено

9
14/11/2014 16:17:13
Anita avatar Anita 363 Точки

Тук може да тествате онлайн варианта на Valleri.

Demo: SolverDGE

 

А от тук може да тествате онлайн варианта на RoYaL.

Demo: JavaScriptClassGenerator

5
14/11/2014 23:55:03
kiko144 avatar kiko144 SoftUni Team 793 Точки

Супер, много полезно и спестява почти всичкото писане :D 

Само да вметна, че валидацията за number (field ^ 0 == field) при по-големи от 32 битови числа не работи. 

Предполагам няма да се наложат такива случаи ама е хубаво да се знае.

1
micev avatar micev 59 Точки

Много добър скрипт, благодаря!

0
Yulia avatar Yulia 1343 Точки

// Малко офф-топик, но искам да кажа, че много ме радва факта, че изобщо сте решили да отделите от времето си, за да напишете нещо подобно. Смятам, че ето такива задачи (мини проекти) трябва да ни се дават за домашно. Да има човек желание да ги напише (даже след крайния срок), защото са интересни и полезни заради резултата (освен заради самото им писане). Плюс това - дават свобода за това как точно да се осъществят. ^^

5