કોડને બગડતો અટકાવવા માટેની એક સરળ નેમિંગ ટ્રિક
તમારી ક્લાસને Service, Manager, અથવા Handler નામ આપવાનું બંધ કરો.
આ નામો અસ્પષ્ટ છે. તેઓ ખરાબ ડિઝાઇન માટે પરવાનગી આપવા જેવું કામ કરે છે.
જો તમે કોઈ ક્લાસનું નામ UserService રાખો છો, તો તમે તેમાં યુઝરને લગતી કોઈપણ વસ્તુ મૂકી શકો છો. તમે પાસવર્ડ રીસેટ, રોલ અસાઇનમેન્ટ અને ડિસ્કાઉન્ટ કેલ્ક્યુલેશન ઉમેરી શકો છો. આ બધું જ યુઝર સાથે જોડાયેલું છે, તેથી નામ સાચું લાગે છે.
પરંતુ આ કાર્યોના નિયમો અને નિર્ભરતાઓ (dependencies) અલગ હોય છે. એક જ UserService એક મોટો કચરો (mess) બની જાય છે.
તેના બદલે 'agentive naming' નો પ્રયાસ કરો. એવા નામોનો ઉપયોગ કરો જે ચોક્કસ ક્રિયાનું વર્ણન કરે છે:
• UserRegistrar • PasswordResetter • RoleAssigner • DiscountCalculator
આ નામો અવરોધ (friction) ઊભો કરે છે. જો PasswordResetter ને અચાનક ઇન્વોઇસ જનરેટ કરવા માટે કોઈ સાધન (tool) ની જરૂર પડે, તો ભૂલ સ્પષ્ટ દેખાય છે. નામ ખરાબ ડિઝાઇનને અવગણવી મુશ્કેલ બનાવે છે.
UserService જેવું અસ્પષ્ટ નામ પ્રોગ્રામિંગમાં "any" પ્રકાર જેવું છે. તે બધું જ સ્વીકારી લે છે. ચોક્કસ નામો સીમાઓ (boundaries) બનાવે છે.
AI ના કારણે હવે આ વધુ મહત્વનું છે.
AI કોડિંગ એજન્ટ્સ નવું લોજિક ક્યાં મૂકવું તે નક્કી કરવા માટે તમારા હાલના કોડને જુએ છે. જો તમે AI ને UserService આપશો, તો તે તે જ અસ્તવ્યસ્ત ક્લાસમાં નવા ફીચર્સ ઉમેરશે. તે આ કામ ખૂબ ઝડપથી કરશે.
જો તમે AI ને PasswordResetter આપશો, તો તે તે ચોક્કસ સીમાની અંદર જ રહેશે.
તમારો કોડબેઝ AI માટે એક પ્રોમ્પ્ટ છે. અસ્પષ્ટ નામો અસ્પષ્ટ ડિઝાઇન શીખવે છે.
નામો સારી આર્કિટેક્ચર બનાવતા નથી. તેઓ ખરાબ આર્કિટેક્ચરને દેખાતું બનાવે છે.
દરેક જવાબદારીને એટલું ચોક્કસ નામ આપો કે બિનસંબંધિત કોડ અપ્રમાણિક લાગે.
Source: https://dev.to/caeus/one-simple-naming-trick-that-keeps-vibe-coded-code-from-rotting-5hf5
Optional learning community: https://t.me/GyaanSetuAi